CIS 343 Structure of Programming Languages
Winter 2023

Contact Information:
Instructor: Zachary Kurmas Office: MAK C-2-316
Phone: (616)-331-8688 Office Hours: MW 1-2; TTh 11:15 - 12:00
Home page: https://KurmasGVSU.github.io
Course Objectives:
At the completion of the course, students will be able to
  • examine issues in language analysis and parsing,
  • develop programs using three programming paradigms,
  • describe three major programming paradigms, and
  • compare issues in language analysis and parsing.
Instruction Format
This course will meet face-to-face as scheduled for lecture and lab. Attendance is required. Many lectures may be "flipped", which means you will be expected to have watched the assigned video content before attending lecture. A few course meetings may be asynchronous.
Text:
  • Concepts of Programming Languages (12th edition) by Robert W. Sebesta. ISBN: 9780134997186.
Prerequisites
MTH 225, CIS 241, and CIS major/minor standing. In addition, students are expected to be comfortable programming in Java and C, and using git.
Important Dates:
  • Drop Day: Friday, 10 March
  • Final Exam: Thursday,27 April, 8:00 a.m. or 10:00 a.m.
Course Policies:
  • I do not re-schedule labs, exams, or quizzes except in cases of extreme emergencies. Business trips are not emergencies.
  • The deadline to drop with a "W" is Friday, 10 March. Remember, I cannot and will not drop this class for you.
  • Attendance is required. I understand that absences are occasionally necessary; however, I reserve the right to lower grades for excessive absences.
  • This course is subject to the GVSU policies listed at http://www.gvsu.edu/coursepolicies/ as well as standard university COVID policies.
  • You are not under any circumstances allowed to use code that is written by others specifically for you or specifically for a CIS 371 assignment. In particular, you may not use code written by ChatGPT or similar software. On homeworks and projects, you may use existing code on sites like Stack Overflow to address a specific, well-defined problem that represents a small portion of the overall assignment. When using code from such resources, you must cite the source.
Special Assistance:
If there is any student in this class who has special needs because of learning, physical or other disability, please contact me and Disability Support Services (DSS) at 616.331.2490. Furthermore, if you have a disability and think you will need assistance evacuating this classroom and/or building in an emergency situation, please make me aware so I can develop a plan to assist you.
Grading:
Your grade in this course will be specifications-based rather than points-based. The requirements for grades of A-, B, C, D, and F is given in the table below. Notice also the special criteria for an A.

Important: The number of deliverables and the requirement for each letter grade are subject to change. The list of objectives is coming soon.

CategoryDCBA-
Learning Objectives Meets Expectations: 11/15 Meets Expectations: 12/15 Meets Expectations: 13/15 Meets Expectations: 14/15
Progressing: 12/15 Progressing: 13/15 Progressing: 14/15 Progressing: 15/15
Projects Passed all tests: 3/4 Passed all tests: 3/4 Passed all tests: 4/4 Passed all tests: 4/4
Mostly complete 3/4 Mostly complete 4/4
Term Paper D C- B- A
Timeliness Late days: ≤ 50 Late days: ≤ 25 Late days: ≤ 15 Late days: ≤ 10

Earning an 'A': Notice that the criteria above are for an A- not an A. To earn a "straight" A, you must meet the criteria for an A- and get an 85% or better on the final exam.

+/- modifiers: There will be a comprehensive final exam. If you score 80% or higher on this exam, you will earn a "+" on your base grade. If you score 60% or lower, you will earn a "-". The final exam has no other effect on your course grade. I may add a plus or minus to a course grade for other reasons at my discretion. For example, i reserve the right to add a "-" to your grade for excessive absences. Note: GVSU does not award grades of A+ or D-.

Learning Objectives: Learning Objectives are skills that students are expected to acquire by the end of the course. Most learning objectives will be assessed using test/quiz questions; a few will be assessed as part of a lab, project, or homework. Learning objectives will be scored with either "M" for "Meets Expectations" or "P" for "Progressing". Students earn an “M” when they have clearly demonstrated a thorough understanding of the learning objective (e.g., answer the related test questions without any mistakes --- or perhaps a very trivial mistake like a math error). Students earn "P" if their work indicates that they have a partial, but useful understanding of the topic (e.g., their answer is structured correctly, correctly applies the fundamentals, but has missing or incorrect details).

EMPN: Most submissions (other than test/quiz questions and homework) will be scored using the EMPN metric. (See the diagram below.) A mark of "E" or "M" indicates that the submission is complete and clearly demonstrates that the student understands the relevant concepts. A mark of "P" indicates that the student is making progress, but the assignment require additional work/revision. A mark of "X" not sufficiently complete to assess.


Updated Monday, 10 April 2023, 4:21 PM

W3c Validation