logoISU  

CS 456 - Systems Programming

Spring 2024

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
Canvas
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 Hall
Instructor Office Hours: By Appointment

Lecture, Exam

Lecture: Lab: W 6-7PM; Lecture TH 6-8PM in Zoom
Exams:
  • Quiz 1 : Feb 1
  • Quiz 2 : Feb 15
  • Quiz 3 : Feb 29
  • Midterm : Mar 7
  • Quiz 4 : Apr 4
  • Quiz 5 : Apr 25
  • Final Exam: Available May 6-10

GA Tutoring: We have a few graduate assistants who will be in the computer science Unix lab, room A-015 in the basement of Root Hall, for about 20 hours per week in total. You can go to this lab to work on your programs. The computers are Linux machines, and you can use the cs###xx log-in that will be given to you during the first week of class to use them. Or, you can bring your laptop to work on. Either way, you can ask the graduate assistants to look at your programs, and you can work with any other CS students that are there (you could use the lab as a regular meeting place to work with your classmates). The regular hours that the lab will be open will be posted on the department's website.

Prerequisites

A grade of C or better in CS 202, CS 303, and CS 351

Standard text

No required textbook. Readings will be posted on the course 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

  • Topics may include the following
    • Basic file I/O
    • Makefiles, GDB, Memory
    • Processes
    • Version Control (Git)
    • The Unix Shell
    • Assembly Language
    • Tokenization and Expressions
    • Creating an Interperter
    • Other things, (if time permits)
  • Midterm Exam: March 7
  • Final Exam: Week of May 6

Normal Content

Learning Outcomes

  • Most important prerequisite skills/knowledge:
    • ...
  • Most important skills/knowledge gained:
    • ...

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. There will be quizzes on most weeks. Generally, 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. Attendance will be taken at the beginning of each class. Undergrads will be required to attend both the Lecture and the Lab Sessions. Graduate students are only required to attend the Lecture sessions, but are more than welcome to attend the lab sections if they desire.

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: 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. The Canvas site will mainly be used for giving you your grades, as well as links to recorded lectures. All other course content, schedule, etc. is kept in this web site (which you are currently viewing).

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
(c) There will be no makeup exams.

See http://cs.indstate.edu/info/policies.html for details.

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