CPSC 310 010, Spring 2026 Syllabus
General Information
- Instructor:
- Dr. Dylan Schwesinger
- Office:
- Old Main 250; Phone: (484) 646 - 4389
- email:
- schwesin@kutztown.edu
- Web URL:
- https://faculty.kutztown.edu/schwesin
- Office Hours:
-
Monday 3:30pm – 5:30pm
Tuesday and Thursday 9:30am – 11:00am - Meeting Time & Place:
- Tuesday and Thursday 8:00am – 9:15am, OM 159
Course Description: This course deals with the main constructs of contemporary programming languages and the tools necessary for the critical evaluation of existing and future programming languages. It provides an in-depth discussion of programming language structures, presents a formal method of describing syntax, and introduces approaches to lexical and syntactic analysis.
Prerequiste: CPSC 237 AND Junior status AND a GPA in the CPSC courses of 2.25
Textbook (Recommended): Programming Language Pragmatics, Fourth Edition, by Michael L. Scott, Morgan Kaufmann.
Course Objectives
- Identify components of programming languages using the proper terminology
- Compare critically the strengths and weaknesses of programming languages and their primary components
- Describe fundamental concepts of programming languages.
- Describe a (or a segment of a) source program and its corresponding run-time representation.
- Explain the role of scanner in compiling process.
- Explain the role of parser in compiling process.
- Explain how each of different parameter passing modes such as pass by value, pass by reference, pass by result, pass by value-result and/or pass by name work.
Course Organization
Your participation in the course will involve the following activities:
- Attending the lectures
- Doing assignments
- Taking exams
Regular attendance and class participation are expected. Students are responsible for all material covered in class.
Policies
Assignments
All assignments are due by the specified day and time. Late assignments will not be accepted. All assignments must include the following information: your name, the course (CPSC 310), semester, year, and assignment number. Programming assignments must follow the Computer Science Documentation Standards. Failure to meet these expectations will result in a 10% penalty for that assignment.
Exams
Exams must be taken when scheduled unless I have approved an alternate time prior to the scheduled exams. Missed exams will be handled on an individual basis and will require written documentation for the absence. University policy will be followed.
Final Grade Assignment
Each student will receive a numeric score for the course based on a weighted average of the following:
Assignments (60%): There will be several programming assignments which combined will count for 60% of the course grade. Assignments may have different weights based on the perception of the relative effort required.
Exams (30%): There will be several exams which combined will count for 30% of the course grade. Exams may have different weights based on the perception of the relative effort required.
Quizzes (10%): There will be several quizzes which combined will count for 10% of the course grade. Quizzes may have different weights based on the perception of the relative effort required.
The letter grade cutoff points are 93 (A), 90 (A-), 87 (B+), 83 (B), 80 (B-), 77 (C+), 70 (C), 67 (D+), 60 (D).
Bonus Points: The instructor will selectively consider raising individual grades for students just below the cutoffs based on factors such as attendance, class participation, improvement throughout the course, and special circumstances.
Academic Dishonesty
All students should familiarize themselves with the Computer Science Academic Integrity Policy
Assignments will be closely monitored for plagiarism. All infractions will be reported to the department chair. The penalty for cheating will be determined on a case-by-case basis, but it will always be worse than having not turned in the assignment.
Email Correspondence
The preferred method of course communication is email. When sending email, please indicate the course number in the subject line by placing it within square brackets, for example, “[CPSC 310] Need help on Assignment 1”. All email correspondence must sent from your Kutztown University email address. You can expect a response to an email with a properly formatted subject line within 24 hours. An email with an improperly formatted subject line may get no response at all.
Classroom Etiquette
Consideration for your classmates, instructor, and class is expected. Please come to class on time and prepared to learn. There should be no classroom conversations, sleeping, cell phone usage, or other disruptions to the class.
Accreditation
Any course work submitted to the instructor (including but not limited to assignments, tests, and projects) may be photocopied and retained for the purpose of assessment, accreditation and quality improvement, after removal of any information identifying the student.
Kutztown University Class Handout Information
Supplemental information from university offices for class handouts and syllabi is located here: Class Handout Information
Note: This syllabus is subject to change at the discretion of the instructor.