CS 367-001 Syllabus - Fall 2015

1 Course Basics

1.2 Lectures

  • Monday, Wednesday from 1:30pm to 2:45pm.
  • Blue Ridge, room 134. (it's east of Fenwick)

1.3 Course Outcomes

  • Demonstrate an ability to design and implement C Programs.
  • Demonstrate knowledge of computer arithmetic and logic operations and representations of data at the machine-level.
  • Demonstrate knowledge of machine-level representations of (C) programs.
  • Demonstrate an ability to use debuggers.
  • Demonstrate an understanding of the idea of a process, how processes are created and how they are manipulated via interrupts, signals, and context switches.
  • Demonstrate an understanding of process-level memory issues including object file linking, process address spaces and virtual memory.

1.4 Prerequisites:

The prerequisites are strictly enforced.

  • Grade of C or better in CS 262 (or CS 222), and
  • Grade of C or better in ECE 303 or ECE 331

1.5 Text

Computer Systems: A Programmer's Perspective (3rd ed.). Randal Bryant and David O'Hallaron (Prentice Hall).

  • Note - we've updated to the third edition, which is a significant update to 64-bit throughout the text.

1.6 Contact Information

Professor office contact
Mark Snyder ENGR 5346 msnyde14@gmu.edu
    703.993.5624

1.7 Piazza

  • http://piazza.com/gmu/fall2015/cs367
  • All correspondence will go through Piazza. You can send private messages to the instructors (professor, GTA, UTA) as well as post public questions visible to all students, collaborate on responses, and tag everything by topic.
  • all course documents will be posted here (not blackboard).

1.8 Blackboard

  • http://mymason.gmu.edu
  • All digital work is submitted to blackboard by the given deadlines.
  • grades are posted here for all assignments.

1.9 Computer Accounts

You must obtain a VSE labs account if you do not already have one, so that you can write and run code on ZEUS. You programs will need to execute correctly on the VSE system since that system will be used while grading your projects. Other systems might be more forgiving for memory errors, and you don't want to find that out with your grade!

2 Grading

The course will have two tests and a final. Much of the work during the semester will be completing projects ("Labs"), as well as regular homeworks such as written or digital assignments.

In general, all grades should be available about one week after turning it in.

2.1 Semester Grade Composition

Category Percent Final Grade
Projects 30%
Homework 15%
Tests 30%
Final Exam 25%

2.2 Calculating Semester Grades

  • you should always be able to calculate your semester grade at any point in the semester with the weightings above and the scale below.
  • There will be no make-up or extra-credit assignments at the end of the semester; your grade should be a measure of your semester-long progress.

Grades will be assessed on the following scale:

Grade Cut-off Score
A+ 98 %
A 92 %
A- 90 %
B+ 88 %
B 82 %
B- 80 %
C+ 78 %
C 72 %
C- 70 %
D 60 %
F ---

2.3 Projects

  • all project grades averaged together evenly
  • due at a specific time on a specific day.
  • no work is accepted 48 hours after the deadline (even if you're using tokens!)
  • late work incurs a 25% ceiling penalty each 24-hour period entered after the deadline.
  • You begin the semster with three One-Day-Late tokens available that each add 24 hours to the deadline of a project. These are automatically applied to late work. They are worth a tiny bonus at semester's end if you still have them. Since no work is ever accepted more than 48 hours after the deadline, you can use at most two tokens at once.
  • the final project might not be allowed to be turned in late at all, to facilitate grading by the deadline.
  • code that doesn't compile will likely get a very, very low score. Turning in code that runs is a big deal!

2.3.1 Turning it in on BlackBoard

You can submit your work an unlimited number of times to BlackBoard, and only the last version (within 48 hours of the deadline) will be graded. You can also download your submitted attempts, and verify that you turned in a working copy.

  • Turning in the wrong files will likely result in a zero.
  • Catastrophic computer failure will not be cause for an extension. Use a backup service such as DropBox (or any cloud service), emailing yourself, storing to a USB drive, whatever it or otherwise 'lose' projects. Don't be the student who forgot to takes. Every semester multiple students' computers die, are stolen, (frequently) back up your work!

2.4 Homework

All homework assignments are due on paper or Blackboard as indicated at the start of a particular class or online at a specific moment.

  • each 24-hour period entered after the deadline is a 25% penalty.

2.5 Tests and Final Exam

  • they will be entirely paper and pencil - no computers, books, notes, etc.
  • all students must have their GMU identification available on testing days
  • if you miss a test, and a valid reason is verified with documentation (ER visit, traffic accident, etc.), I may elect to allow the final exam to count the extra amount to give you a sort of do-over. This policy is not automatic, however.
  • if you miss the final, there is very little I can do for you. Don't miss the final!
  • the final will not be given early. You are starting the course with knowledge of the schedule (see GMU's Final Exam Calendar for the latest schedule, updated as weather events require).

2.6 Contested Grades

  • If you feel points have been incorrectly deducted, contact the grader. Tests: professor; homework/labs: GTA.
  • If you have not initiated contact within a week of receiving the grade (on BlackBoard or the lecture in which it was handed out), it is too late. No grade-hunting in the last couple of weeks!
  • We strive to grade each student's work fairly and uniformly, often through specific test cases, which might even be automated as part of the grading process.

3 The Honor Code

The honor code at George Mason is an important part of our academic culture. A degree from this institution should be a direct measure of your own progress and abilities, and as such at all times we must ensure that all work that should be your own is your own.

We take the honor code quite seriously. Any attempts at copying or sharing code, algorithms, or other violations of the honor code simply will not be tolerated.

As seductively simple as it may seem to just copy and paste work from a friend or online source, remember that it is just as easy to compare your work electronically, and discover the similarities. We use automated software to flag suspicious cases, and then review them by hand to find the cases that must be submitted to the Office of Academic Integrity. Repeat to yourself: it's not worth trying to cheat. We will catch it, and sadly but surely, we will turn it in.

The penalty for cheating will always be far worse than a zero grade, to ensure it's not worth taking the chance. It's a pretty sure-fire way to lose a semester and lose some friends; please don't put yourself through that experience!

3.1 Some Specifics and Links

  • All students will abide by GMU's Honor Code.
  • All work must be your own. If you are caught cheating, you and every other involved student will be turned in to the honor court.
  • See the CS Honor Code Policies to understand better what constitutes cheating in the CS setting. It clarifies some scenarios that are unique to our sorts of assignments.
  • Here are my own thoughts about the Honor Code in a CS classroom.

4 Learning Disabilities

  • Students with a learning disability or other condition (documented with GMU's Office of Disability Services) that may impact academic performance should speak with the professor ASAP to discuss appropriate accommodations. We are quite happy to assist as is appropriate, but it must be documented ahead of time by ODS. Bringing the paperwork with you to a scheduled exam is far too late! Even if you don't know if you plan on utilizing the accommodations ahead of time, it's in your best interest to prepare them ahead of time.