logoISU  

CS456 - Systems Programming

Spring 2025

Syllabus and Information

Table of Contents

Table of Contents
General Information
Contact Your Instructor
Lecture, Exam, Office Hours
Prerequisites
Standard text
Course Announcements
Classroom conduct
Course Description
Course Outline
Normal Content
Learning Outcomes
Grading and Assignments
Late Homework
Start Homework Early
Expected Amount of Work
Grade Cutoffs
Blackboard
CS Course Policies
Academic Integrity
COVID-19 Information
Special Needs
Disclosures Regarding Sexual Misconduct

General Information

Contact Your Instructor

Name: John Compton
Email: John.Compton@indstate.edu
Office: Rankin R034
Office: 812-237-2874
Instructor Office Hours: By Appointment Only

Lecture, Exam

Lecture: Online in Online
Exams:
  • Quiz 1 - Due Jan 31 @ 11:59 PM
  • Quiz 2 - Due Feb 14 @ 11:59 PM
  • Quiz 3 - Due Feb 21 @ 11:59 PM
  • Midterm Exam - Available Mar 3 on Canvas, Due Mar 7 @ 11:59PM
  • Quiz 4 - Due Mar 28 @ 11:59 PM
  • Quiz 5 - Due Apr 4 @ 11:59 PM
  • Quiz 6 - Due Apr 18 @ 11:59 PM
  • Quiz 7 - Due Apr 25 @ 11:59 PM
  • Final Exam - Due May 9 @ 11:59 PM

GA Tutoring: TBD.

Prerequisites

A grade of C or better in CS 203 or 303, CS 202 or 302, and CS 351. For Undergraduates, concurrent enrollment in CS456L is required

Standard text

There are no required textbooks for this course, readings will be posted on the class website

Course Announcements

Announcements regarding the course will be made both during class and via email to your @sycamores.indstate.edu email address. You should regularly check this email account or have it forwarded to an account that you check regularly.

Classroom conduct

You may not use cell phones, iPods/music players, etc. during class. You should be civil and respectful to both the instructor and your classmates, and you should arrive to class a few minutes before the scheduled lecture so you are ready for lecture to begin on time. You may use your computer during class if you are using it to follow along with the examples that are being discussed. You may not check email, Facebook, work on other courses, etc. during class.

Course Description

The catalog description for this course is:

"An introduction to both program translation and operating systems There will be a survey of topics such as: top-down and bottom-up parsing, scanning, code generation, symbol table management, linkers and loaders, batch processing systems, interacting processes, multiprogramming systems, and memory management. "

Course Outline

  • Partial List of Topics:
    • Basic file I/O & pipes
    • Makefiles, GDB, and Memory
    • Version Control (git)
    • Creating a Unix Shell
    • x86_64 Assembly
    • Tokenization and expressions
    • Creating an interpreter
  • Midterm: ~ TBD (probably around Spring Break)
  • Final Exam: Week of May 1-5

Normal Content

Learning Outcomes

  • Solid understanding of the Unix/Linux API.
  • Basic understanding of programming language translation

Grading and Assignments

The students of this course have the following responsibilities: read assigned readings before lecture, attend lecture, complete homework assignments, take in class quizzes, take exams, and possibly complete a project. The final grade consists of:

  • Quizzes: 20% total. We will have a quiz most weeks on Canvas. Quizzes will be open note, but they will be timed, so you will need to have studied to do well on them
  • Homework: 20% total. There will be a homework assignment most weeks. All assignments will have a preferred due date. Acceptance of late assignments will be decided on a case-by-case basis.
  • Exams: 50% total. We will have two exams, the midterm and the final. If you do better on the final than on the midterm, I will drop your midterm grade and only use your final to calculate this portion of your grade.
  • Class Attendance/Participation: 10% total. To fulfill the CS 456L part, the Undergrad section will either meet with me via Zoom at the designated time class meeting time (Currently 6-7PM Thursdays), or complete a short progress report when I request it. We will go over things you may need help on, answer questions, etc. Graduate Students are not subject to this requirement (and thus, their grade breakdown will be slightly different) but they are more than welcome to join the meeting if they choose to do so.

Late Homework

All homework assignments will be given a preferred due date. Assignments can be turned in past the preferred due date, but any assignments turned in late will have their value multiplied by 80% (so the highest grade you can get on a late assignment is 80%). Any assignment discussed in depth in class are effectively closed no credit will be given.

Start Homework Early

I suggest attempting a homework assignment the day it is given, or the day after, so that if you have a problem you can ask early. If you continue to have problems in trying to complete the assignment, you will have time to ask again. Many of the homework assignments require thought and problem solving, which takes "time on the calendar" not just "time on the clock". By that I mean that spending an hour on 3 consecutive days is likely to be more productive than trying to spend 3 hours at once on the assignment.

Expected Amount of Work

My expectation is that an average student will spend about 4 hours OUTSIDE of class each week (that is in addition to class time) WORKING PRODUCTIVELY/ EFFICIENTLY (not just staring at the computer) to complete their coursework for this class. Some students may spend less time than this, and some students will spend more.
Note - your classes should be more important than your part-time job.

Grade Cutoffs

Homework assignments and exams are designed so that a standard cutoff for grades will be close to what you deserve. After the first exam I will create a grade in Blackboard called "Letter Grade" that is what your letter grade would be if the semester ended today. Initially, I will assign the following grades: 100+ A+, 93-100 A, 90-93 A-, 87-90 B+, 83-87 B, 80-83 B-, 77-80 C+, 73-77 C, 70-73 C-, 67-70 D+, 63-67 D, 60-63 D-, 0-60 F

My goal is that the different grades have the following rough meaning.

A+/A
You understand everything and probably could teach the course yourself.

B+/A-
You understand nearly everything, and should be all set to use this knowledge in other courses or in a job.

C/C+/B-/B
Some things you understand very well and others you don't (more towards the former for a B and more towards the latter for a C).

D-/D+/C-
You did put some effort in, and understand many things at a high level, but you haven't mastered the details well enough to be able to use this knowledge in the future.

F
Normally, students that get an F simply stopped doing the required work at some point.

Canvas

The course has a Canvas site. Click https://indstate.instructure.com/ to go to Canvas. You should see this course listed under your courses for the current term. If you don't you may need to click on the Courses icon and then click the "All Courses" link

Most things will be run through the course website. Canvas will be used for the following:

  1. Checking the grade book. You are responsible for making sure your returned assignments match the grade entered into Canvas to prevent clerical errors. Your grade is your responsibility.
  2. Watching Zoom Lectures for the weekly meetings. Any lectures on Zoom will be recorded for anyone to re-watch.

CS Course Policies

Note that this course follows all standard CS course policies. In particular, (a) cheating/plagiarism by graduate students results in an F in the course, (b) missing 20% of the classes results in an F for any student, and (c) there will be no makeup exams. See http://cs.indstate.edu/info/policies.html for details. My attendance policy is further amended such that each unexcused absence beyond 2 will reduce your final grade by 10%.

Academic Integrity

Please follow these guidelines to avoid problems with academic misconduct in this course:
  • Homework: You may discuss the homework assignments, but should solve and finish them on your own. To make sure you are not violating this, if you discuss with someone, you should DESTROY any work or evidence of the discussion, go your separate ways, SPEND at least an hour doing something completely unrelated to the assignment, and then you should be able to RECREATE the program/solution on your own, then turn that in. If you cannot recreate the solution on your own, then it is not your work, and you should not turn it in.
  • Note on sources: if you use some other source, the web or whatever, you better cite it! Not doing so is plagiarism.
  • Exams: This should be clear no cheating during exams. The exams will be closed-book, closed-notes, no computer, and no calculator. You may be allowed one sheet of 8.5" by 11" piece of paper with hand-written notes to use as a crib-sheet for your tests.
  • Projects: You should not copy from the Internet or anywhere else. The project should be your own work. It will be fairly obvious to me if you do copy code from the Internet, and the consequences will be at the least a 0 on the project.

If cheating is observed, you will at the least receive a 0 for the assignment (and may receive an F for the course), and I will file a Notification of Academic Integrity Violation Report with Student Judicial Programs, as required by the university's policy on Academic Integrity. A student who is caught cheating twice (whether in a single course or different courses) is likely to be brought before the All University Court hearing panel, which can impose sanctions up to and including suspension/expulsion. See the http://www.indstate.edu/sjp/docs/code.pdf and http://www.indstate.edu/academicintegrity/ for more information.

Please ask the instructor if you have doubts about what is considered cheating in this course.

COVID-19 Information

Illness: Students who are ill, under quarantine for COVID-19, or suspect they are ill will report that to Student Affairs. Student Affairs will verify and notify all faculty who have that student. Once notification is made, all faculty will make every reasonable effort to accommodate the student’s absence and will communicate that accommodation directly to the student. Students who need to report an illness should contact Office of the Dean of Student at the following website https://cm.maxient.com/reportingform.php?IndianaStateUniv&layout_id=23 . They may also call: 812-237-3829.

Masks/Shields: Masks/Shields will be worn by all students and faculty in classrooms as well as in buildings (unless you are alone in an office). What is said/printed on a mask will be held to the same Student Code of Conduct standard as if it were printed on a shirt or hat. As a result, a political statement such as MAGA, BIDEN2020, or BLM is not grounds for demanding that it be removed/replaced. In judging what constitutes an offensive statement on a mask, the determination will be made by Student Affairs using the Student Code of Conduct. If there is a question about a mask, the faculty member will refer the matter to Student Affairs and only insist upon its immediate removal if there is no doubt that it violates the Code. Medical waivers will be made through Student Affairs and students with such a waiver are expected to carry the documentation with them and present it when asked.

Laptops/Technology: It is the responsibility of all students to have equipment sufficient to participate in all their classes. All students must have a computer/tablet with audio and video capability. Students will follow the appropriate instructions of their faculty regarding the muting (or unmuting) of audio and video as they would in any classroom setting.

Traffic flow and social distance: Students and faculty will respect the need for social distancing to the degree possible by the setting. Faculty and students will move in and out of the classroom as per the appropriate instructions of the faculty/administration. They are expected to follow printed traffic flow statements posted in all rooms and buildings.

In-class seating: Faculty are asked to assign students seats in the classroom, using social distancing as possible. The assigned seating chart is to be used all semester and kept by faculty as to facilitate contact tracing and help limit any secondary quarantines.

Cleaning of Space: Students are encouraged to clean the surfaces of the chairs/tables/desks they occupy before they sit down and as they prepare to leave. Faculty should advise students to bring cleaning wipes or cloths to clean their own personal space if they want or to be sure to use hand sanitizer on the way in and way out of the classroom.

Refusal: Refusal to comply with any appropriate request will be treated as would any classroom disruption (request to change the behavior; request to leave the class; dismissal of the class and referral to Student Affairs.)

Special Needs / Disability Services

Indiana State University recognizes that students with disabilities may have special needs that must be met to give them equal access to college programs and facilities. If you need course adaptations or accommodations because of a disability, please contact us as soon as possible in a confidential setting either after class or in my office. All conversations regarding your disability will be kept in strict confidence. Indiana State University's Student Support Services (SSS) office coordinates services for students with disabilities: documentation of a disability needs to be on file in that office before any accommodations can be provided. Student Support Services is located on the lower level of Normal Hall in the Center for Student Success and can be contacted at 812-237-2700, or you can visit the ISU website under A-Z, Disability Student Services and submit a Contact Form. Appointments to discuss accommodations with SSS staff members are encouraged.

Once a faculty member is notified by Student Support Services that a student is qualified to receive academic accommodations, a faculty member is obligated to provide or allow a reasonable classroom accommodation under ADA.

Disclosures Regarding Sexual Misconduct

Pursuant to Policy 923 Non-Discrimination and Anti-Harassment, all ISU employees are expected to report discrimination and harassment to the Office of Equal Opportunity and Title IX. Those individuals who act in a supervisory capacity or who serve as faculty/staff advisors to ISU student organizations should be especially mindful of the obligation to report discrimination and harassment promptly. Reports of discrimination or harassment should be directed to:

Office of Equal Opportunity and Title IX
Rankin Hall, Room 426
Indiana State University
Terre Haute, Indiana 47809
(812) 237-8954
ISU-equalopportunity-titleix@mail.indstate.edu
https://cm.maxient.com/reportingform.php?IndianaStateUniv&layout_id=10