CS 367 Syllabus - Fall 2018

1 Course Basics

1.1 Schedule

1.2 Professor and Section Information

section professor email office# class time class location
001 Prof. Song Min Kim song@gmu.edu ENGR 5305 TR 9:00am MERTEN 1200
002 Prof. Kevin Andrea kandrea@gmu.edu ENGR 4610 MW noon EXPL L102
003 Prof. Kevin Andrea kandrea@gmu.edu ENGR 4610 MW 1:30pm IN 204

This course is now a 4-credit course.

1.3 Prerequisites:

The prerequisites are automatically and strictly enforced.

  • Grade of C or better in MATH 125, and
  • Grade of C or better in CS 262 (or CS 222)

1.4 Course Outcomes

The CS department has identified these outcomes as ones that must be met throughout the semester.

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

1.5 Required Textbook

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

  • You can access our textbook in the Gateway Library (JC), by using the call number QA76.5.B795 2016 .
  • Note - we've updated to the third edition, which is a significant update to 64-bit throughout the text.
  • This is one of those text books that can actually make a big difference in a pivotal course; actually read it!

1.6 Piazza

  • http://piazza.com/gmu/fall2018/cs367
  • All correspondence will go through Piazza. You can send private messages to the instructors (professors, 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.7 Blackboard

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

1.8 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. Grading occurs on this system; other systems might be more forgiving for memory errors, and you don't want to find that out with your grade!

2 Active Learning Classrooms

All three sections are in "active learning" classrooms. These have movable chairs and/or desks, and more whiteboards on the walls. Other technology is available which we might use when appropriate as well.

You should expect a more hands-on experience in this course - there are many times where you simply need to practice, practice, practice: doing binary calculations, drawing out memory, calculating physical memory addresses, drawing out forking diagrams. By selecting these classrooms, you will have a greater chance to master the skills this course covers by practicing and participating.

You might need to change your mindset about what a classroom is, or what attending a class will mean. Though we are not "flipping" the classroom (there will still be lecture as opposed to solely assigned videos/reading outside of class), we are aiming for a more interactive experience. You need to bring pencils, whiteboard markers, and laptops for the kinds of activities planned.

It's worth noting, too, that class time is when we hope to learn from our unsuccessful attempts. Average class days are not test days - getting something wrong is just proof you've identified a problem worth your efforts. If you're not failing here and there, you're probably not pushing yourself hard enough! By the time a test day comes around, you should be so well practiced that there's no need to cram for a test, because you've studied up all along.

Student Responsibility: It is your responsibility to be present, on task, and supportive of each other. Whether you already understand a concept and can reinforce that knowledge by trying to explain it to others, or you gain understanding by working through examples, there is always something for you to do in the course.

3 Grading

The course will have two tests and a final. Much of the work during the semester will be completing projects, as well as regular recitation activities (written and digital).

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

3.1 Semester Grades

Weighting of Assessments:

Category grade % notes
Projects 30% at least 3
Quizzes 5% about 5
Recitation 10% participation-based
Tests (15% each) 30%  
Final Exam 25% cumulative

3.2 Grading Scale

Grades will be assessed on the following scale:

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

3.3 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.
  • This is not a course that receives a magic, gigantic curve at the end. Wherever your grade is headed, that is the outcome you should expect after continued efforts.

3.4 Projects

  • all project grades averaged together evenly; there aren't many of them.
  • they are due at a specific time on a specific day.
  • no work is accepted 48 hours after the deadline (even if you're using late-day tokens!)
  • late work incurs a 25% ceiling penalty each 24-hour period entered after the deadline.
    • example: one day of penalty would mean:
      RecordedGrade = min(75, Raw_Score)
  • 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. Since no work is ever accepted more than 48 hours after the official deadline, you can use at most two tokens on a project.
  • 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. It specifically must compile on the zeus server.
  • 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 posted deadline) will be graded. tokens are automatically used based on submission timestamps. 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 takes. Just don't put it in a public git repository where others can find it (this has happened before). Every semester multiple students' computers die, are stolen, or otherwise 'lose' programs and digital work. Don't be the student who forgot to (frequently) back up your work!

3.5 Recitation

  • all students are registered for a recitation as well as their lecture.
  • the recitation sections are mixed between the lecture sections, so you may see different students there.
  • all lectures and recitations are coordinated.
  • there will be work to complete either during recitation or by some short duration after recitations are complete.
  • attendance and effort are the main components of your recitation grade - this is where you practice and get the most feedback.

3.6 Quizzes

  • there will be occasional quizzes, to bridge the gap between recitation-level work and test-level work. They may be either in person or online, as appropriate.

3.7 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.), we 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).

3.8 Contested Grades

  • If you feel points have been incorrectly deducted, contact the grader. Tests: professor; homework/projects: GTA.
  • If you have not initiated contact within a week of the grade being made available, it is permanent. 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 and grader-group-discussions, which might even be automated as part of the grading process.

4 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. The usual recommendation is failure in the course. It's a pretty sure-fire way to lose a semester and lose some implicated friends; please don't put yourself through that experience!

4.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.

5 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.