CS 463 - Spring 2016

Comparative Programming Languages

1 Basics

  • Prerequisites: C or better in CS330 and CS 367.
  • Schedule can be found here.
  • Contact Information:
    • email: msnyde14@gmu.edu
    • Office: ENGR 5346
    • Office phone: 703-993-5624
    • Office hours: found here
  • Piazza: online discussion, shared documents, announcements.
  • BlackBoard: turn in electronic assignments view post grades.

2 Textbooks

  • Concepts of Programming Languages, 11th edition. (10th edition is fine with a bit of effort). Robert W. Sebesta.
  • Real World Haskell. Bryan O'Sullivan, Don Stewart, and John Goerzen. Available free online or for sale in hardcopy.
  • Learn You A Haskell For Great Good!. available free online or for sale in hardcopy.

3 Goals

  • Course Objectives: Students will gain an understanding of key programming mechanisms described independently of particular machines or languages, including control, binding, procedural abstraction, types, and concurrency. Includes basic programming competence in several different types of programming languages, including a language that provides concurrency.
  • Course Outcomes: At the end of this course, students should:
    • be able to read and use formal representations of programming language syntax.
    • understand, in a language independent way, basic programming language components such as variables, types, expressions, scope, and control flow and see the choices made for these components by common languages.
    • have an understanding of runtime procedure/function control and data flow implementation.
    • have a basic understanding of the major programming language paradigms (imperative, OO, functional, logic), including relevant application domains, strengths and weaknesses.
    • have an understanding of the fundamentals of concurrent programming and the language-level constructs that are used in concurrent programming.
    • gain basic programming competence in several different types of programming languages, facilitating transition to other current (and future) languages encountered during their professional career.

4 Grading Policy

The grade will be determined by grades obtained in assignments (avg), quizzes (avg), and test scores. If circumstances require it, the grading scale may be adjusted, generally in the students' favor.

Projects 30%
Homeworks/Quizzes 30%
2 Exams 20%
Final Exam 20%

Grade cutoff percentages:

A+ 98 A 92 A- 90
B+ 88 B 82 B- 80
C+ 78 C 72 C- 70
D 60 F 0  
  • Late Work: up to 24 hours late work is accepted (but it can't receive a higher grade than 75%).
  • Contested Grades: Unless I've added up your score incorrectly, please take time to consider all provided feedback before contesting a grade. To do so, either schedule a meeting in person or send an email requesting further feedback and consideration. One week from score availability, the window to contest a grade has closed.
  • Tests
    • Student ID is required for both the tests and final exam.
    • If a test is missed, the final exam automatically counts that much more.
    • Missing the final exam is very hard to recover from - plan ahead! If you are flying anywhere, don't purchase tickets that overlap exams week. If we get enough snow days, our exam date will likely change. See GMU Final Exams Schedule for details.
  • Honor Code: All graded work must be your own. Any attempts at cheating will not be tolerated, and will be turned in to the Honor Court with significant penalties recommended (usually F in the course for a first offense). By this point you should be familiar with both the honor code at GMU and the further details of the CS Honor Code Policies, but in short you should never see, share, or discuss any part of the solution to any graded work, from algorithm development to implementation to debugging to test cases. When in doubt, ask your instructor instead of another student. Lastly, here are my own thoughts on the honor code.

5 Learning Disabilities

Students with a learning disability or other condition (documented with GMU Office of Disability Services) that may impact academic performance should speak with the professor ASAP to discuss appropriate accommodations. We are quite happy to provide any and all accommodations recommended by ODS, but that process always begins with the student initiating the request. Keep in mind that accommodations must be approved prior to the test/assessment.