CMSC 330: Organization of Programming Languages, Sections 0201-0202
Course Policies
Course Goals
At the end of the semester, students will be able to
- explain how program syntax and semantics are defined and implemented
on a machine
- compare and contrast functional, logical, imperative, and object-oriented
programming paradigms
- determine which language features are most appropriate for a software
system, and how to implement them if the feature is not built-into the
implementation language
Books and Readings
- Programming Language Pragmatics (PLP), 2nd Edition with CD, by Scott
- The Little Schemer (TLS), 4th Edition, by Friedman and Felleisen
- Other readings that will be handed out in class or available online
Buy other editions of these books at your own risk.
Homework-specific Policies
- All homework must be completed individually. You can only ask
questions to instructional staff. Do not share answers or ideas for
answers with others. Do not ask other students questions. You are supposed
to work on these assignments alone.
- Homework is due as a hard copy at the start of class on the day
it is due. Please do not email the instructional staff your homework.
Project-specific Policies
- It is strongly recommended that you have a computer of your own. I
prefer to use educational language environments that you can
install on your own Windows, Mac, or Linux computer. If this is a problem,
please let me know during the first week of class.
- Projects will be completed alone or in pairs. You must submit
project documents as directed in the project instructions by 11:59:59 pm on the day your project is due. Both your code and your design document will be graded.
- You and your project partner should implement projects on your own.
Do not download any code from the internet without explicit permission
from the instructor.
Quiz-specific Policies
- Quizzes will be given in section. They can occur at any time!
Grading
- Assignments: 20%
- Projects: 30%
- Quizzes and Midterm: 20%
- Final Exam: 30%
I have high expectations for English grammar and clarity. If I can't understand
your answers or design documents, I will give you a zero.
Regrading. All regrading requests must be made in writing
within one week of when the work is returned. Regrading can result
in a lower score if additional errors are found.
Absences and Accommodations:
- Students with disabilities should inform me of their needs immediately.
- Let me know if you will miss class. You will be responsible for all material
covered.
Academic Integrity
- Cheating, fabrication, facilitation, and plagiarism are strictly
prohibited in all classes at the University of Maryland. Academic
dishonesty destroys the reputation of our department and university. Please
feel free to contact the
Student Honor Council if you have questions
or concerns.
- All homeworks and exams must be done individually. If you have questions,
you can ask the instructional staff during office hours. Please note
that 330 TAs will not give detailed debugging help as was the case in
lower-level CS courses.
- The projects can optionally be done in pairs. You can choose
a different partner for each of the two projects. You can work with
your project partner and NOBODY ELSE.
- There is a forum for 330. Do not ask for homework answers and
do not give homework answers.
Examples of cheating include, but are not limited to:
- Not doing all of the work on a homework by yourself,
other than assistance from instructional staff.
- Using any ideas or any part of another's homework.
- Giving ideas, parts of a project, test data, or test
cases to another student who is not your project partner.
- Telling another student who is not your project partner how to implement something.
- Debbugging another student's code when that student is not your project partner.
- Looking at someone else's homework, or looking at another student's
project when that student is not your project partner.
- Getting help or giving help on a homework from/to a project
partner. Project partners are for PROJECTS, not homework.
You and your project partner should implement projects on your own.
Do not download any code from the internet without explicit permission
from the instructor.
Please, give yourself a chance to do it on your own!
- If I discover that you have given or received unauthorized assistance,
I will file all academic dishonesty paperwork. You will get an XF.