CSc 404 Syllabus
CSc 404
Spring, 2024
Programming Language Structures
3 Credits
Instructor:Tom Bennet
Office:302 MCC
Phone:601-925-3815
Email:bennet@mc.edu
Text:Programming Languages: Principles and Paradigms, by Allen B Tucker & Robert Noonan, ISBN 987-0-07-286609-4
Web Page:https://sandbox.mc.edu/~bennet/http://sandbox.mc.edu/~bennet/cs404b

An introduction to the principles of programming language design and implementation, syntax, data types, scope, data abstractions, concurrency and Object-Oriented Programming. Prerequisite: CSC 216

This course is fundamental to the understanding of programming languages. By studying the history, development, design and implementation of programming languages, the student gains an understanding of how and why the languages we use contain the features they do, and omit what they omit.

The course will examine formal methods for describing programming language syntax and semantics, and the methods used to translate languages and support them at run time.

Instruction will be through lecture, class discussion, programming projects, and problem-solving.

Grading

This class is a mixed undergraduate/graduate section. For graduate students, an additional 100-point graduate project is required. For both classes, grades are assigned based on the percentage of points earned.

ActivityPoints
Programming Projects and Homework250
Regular exams (3 @ 100)300
Comprehensive Final Exam200
TOTAL750
Undergrad
PointsPercentGrade
67575090%100%A
60067480%89%B
52559970%79%C
45052460%69%D
044950%59%F
Graduate (+100 pts)
PointsPercentGrade
76585090%100%A
68076480%89%B
59567970%79%C
51059460%69%D
050950%59%F

The semester point total may vary due to unforeseen circumstances. Any variance will be small. Final grades will be based on these same percentages of the actual total.

There will be several programming assignments of varying difficulty, three regular exams, and a comprehensive final exam, according to this schedule. The final exam will on Friday, April 26, at 12:00.

The last day to drop this course is Friday, March 22, 2024.

Graduate students must perform an additional project. The graduate report may be a library research paper, or present the results of the student's own work. The topic must be approved by the instructor. A research paper must be at least 6 pages single-spaced, using reasonable fonts and margins. It must have at least 10 references. A programming project should be accompanied by a short paper (one page is usually sufficient) describing what it does and how to run it. Some possible topics include:

Any projects must be approved ahead of time, even if it seems to fit one of the above examples.

Programming Projects

As part of our study of programming languages, we will have several small projects using three important languages which are “off the beaten path.” Software to process these languages will be available in the labs, and are usually available for free online. These projects are given to emphasize concepts in the course, as well as to expand the student's horizons beyond the usual way of doing things in the procedural languages.

Each project will be small. Each language will have one very simple project to give experience running the language processor, and at least one more project which emphasizes interesting features of the language.

Projects should be handed in on time, and late projects are charged 10 points for each day late. However, each student has five free late days which may be spent on any programming project in any combination. Free late days are not transferable, and expire at start of the final exam.

Final Date

The date of the final exam assigned by the college is firm. You will not be allowed to take the final at another time without a compelling reason. That you have a flight home before the final is absolutely not compelling. Schedules are published well in advance; plan travel and local accomodations accordingly.

Attendance

Mississippi College class attendance policies as described on p. 96 of the college catalog will be enforced. Absences may be excused for illness or other appropriate cause. Exams missed due to circumstances beyond the student's control may be made up at a mutually agreeable time and place. Adequate documentation of the cause of an absence may be required.

MC Syllabus

The MC Syllabus contains all policies and procedures that are applicable to every course offered by Mississippi College, both on campus and online. The policies in the MC Syllabus describe the official policies of the University as they relate to instruction and will take precedence over those found elsewhere. It is the student's responsibility to read and be familiar with every policy.