Course website:
http://www.cs.csub.edu/~mdanfor/ under Teaching menu
Moodle website:
https://moodle.cs.csub.edu/moodle/course/view.php?id=95
Course meets MWF 12:45 - 1:55pm and Tu 12:45 - 3:15pm in Sci III 315
The digital resources are not required, so earlier editions, editions without the digital access code, and used editions also acceptable.
PL/Object-Oriented Programming
PL/Functional Programming
PL/Event-Driven and Reactive Programming
PL/Basic Type Systems
PL/Program Representation
PL/Language Translation and Execution
PL/Syntax Analysis
Week | Chapter(s) | Topics |
---|---|---|
1 | Chapters 1 and 14 | Introduction to concepts. Exception handling. Lab: C++ |
2 | Chapters 2 and 15 | History of programming languages. Functional languages. Lab: LISP |
3 | Chapters 3 and 12 | Formal models for syntax. Object-oriented programming. Lab: Java |
4 | Chapters 3 and 16 | Attributed grammars. Declarative paradigm. Lab: Prolog |
5 | Chapter 5 | Names, binding, types, and scope. Lab: Perl |
6 | Chapters 6 and 11 | Data types. Data abstraction. Lab: Ada |
7 | Chapters 7 and 14 | Expressions. Event-driven programming. Lab: JavaScript and PHP |
8 | Chapter 8 | Control statements. Lab: PHP and XML |
9 | Chapter 9 | Subprograms. Lab: Python |
10 | Chapter 10 | Implementing subprograms. Lab: C# |
There are also computers available in the CEE/CS Major Study Lounge in Sci III 341 (formerly the CEE/CS Library). This room is only open when faculty members are on campus, e.g. approximately 8am to 5pm on weekdays. If the door is currently locked, see Steve, Erika, myself, or another faculty member to unlock it.
Homework | 10% |
Labs | 25% |
Weekly Quizzes | 30% |
Final - Quiz Portion | 10% |
Final - Coding Portion | 25% |
No scores will be dropped from any of these categories. Your overall grade will be calculated based on the following scale:
A >=93% A- 90% - 92.9% B+ 87% - 89.9% B 83% - 86.9% B- 80% - 82.9% C+ 77% - 79.9% C 73% - 76.9% C- 70% - 72.9% D+ 67% - 69.9% D 63% - 66.9% D- 60% - 62.9% F <60%
Grades are posted on Moodle. Note: Moodle shows your "current" overall class percentage based off the classwork graded to-date. This will update as every grade posts.
It is your responsibility to check Moodle for grades and any comments on assignments. If you believe you submitted your assignment on time but the comment field says "assignment not submitted", contact the instructor.
The labs will focus on coding in various programming languages. You can discuss labs with others, but you MUST TURN IN YOUR OWN CODE to get credit for the lab. Labs are NOT a group assignment.
Labs will be submitted by setting up directories on Sleipnir. Once the lab is graded, the grade will be posted to Moodle. See lab_info.php for general lab grading guidelines. Specific guidelines will be posted at the bottom of each lab.
Homeworks consist of multiple choice questions that follow the lecture notes and reading material for that week. You will complete the homework assignments by completing the Moodle modules for the homeworks.
The Moodle module for homeworks can be accessed from any IP address and is not time restricted. You MUST submit the homework by the due date to get credit. Late homeworks will not be accepted.
Moodle will give instant feedback on submission, but Moodle not display your grade for the homework assignment in the Grades tab until after the due date. This is normal behavior for Moodle.
If you need to take a quiz remotely, you must contact the instructor at least 2 days before the quiz to get permission.
If you finish a quiz before the end of class time on Friday, you can use the remaining time to continue to work on the weekly lab assignment. Once everyone has finished with the quiz, you can ask the instructor questions about the lab assignment.
The final exam period is Monday November 23, 2015 from 2:00 - 4:50pm.
Due to the complexity of timing the Moodle quiz module and the scripts to grade the coding component, please try to work out any final exam conflicts with other instructors.