Systems I (CSC 406)
Sections 702 and 711, Fall 2022
Thursdays, 5:45-9:00 PM, CDM Center 222

Overview

This course is the first of a two-course sequence covering the concepts underlying all computer systems and how they affect the correctness, performance, and utility of application programming. Specifically, the course focuses on machine representation of data and programms, and how C programms are transformed into machine language, and how programmers benefit from this knowledge.

Preconditions

You must have taken CSC 401 or an equivalent intro to programming course. I will assume that:

Postconditions

After the successful completion of this course:

Course Calendar

[subject to change]
Week 1
09/08
Intro to computer systems, UNIX, and C (BO Ch. 1 and K Ch. 1-5, 7)
Week 2
09/15
Machine representation of data (BO Ch. 2 and K Ch. 11)
Week 3
09/22
Integer arithmetic (BO Ch. 2 and K Ch. 11)
Week 4
09/29
C arrays, strings, pointers, and structures (K Ch. 6, 8-10)
Week 5
10/06
MIDTERM + Intro to machine representation of programs (BO Ch. 3)
Week 6
10/13
Machine represention of programs (BO Ch. 3)
Week 7
10/20
Arithmetic and logical operations; control (BO Ch. 3)
Week 8
10/27
Procedures; arrays and pointers; buffer overflow (BO Ch. 3) 
Week 9
11/03
Optimizing program performance (BO Ch. 5)
Week 10
11/10
Optimizing program performance (BO Ch. 5)
Week 11
11/17
FINAL exam (for section 701)

Modality

In order to optimize the experience of students in both in-person and online sections and to provide the maximum flexibility in the current uncertain times, this course will be delivered as follows:

Instructor contact info

Salman Parsa E-mail
s.parsa@depaul.edu
Discord server
Subscription link
Office hours
Tu, 4:00pm-5:30pm CT
In person and online:
Zoom meeting link
Please use Discord for course/material related questions and email for personal questions.

Texts

Bryant & O'Hallaron, Computer Systems:A Programmer's Perspective, 3rd Edition, Prentice Hall/Pearson, 2016.  ISBN: 9780134092669

Kochan, Programming in C, 4th Edition, Prentice Hall/Pearson, 2015.  ISBN: 9780321776419

Grading

The course grade will be apportioned as follows:
homeworks 10%
labs
40%
midterm exam 20%
final exam 30%
There will be a total of 4 homework assignmentss, but only your best 3 count toward the final grade, so you may miss one homework with no penalty. Each homework assignment will consist of several short programming assignments, and/or conceptual problems. There will also be a total of 4 labs, each a major assignment involving long hours of technical work. All homework assignments and labs must be submitted by the deadline and no later. Any homework or lab not handed in by the deadline will receive 0 points, without any exceptions.

Midterm and Final Exams

The midterm and final exams are required to be proctored, for both live and online sections of the class. Students that cannot come to the campus for the exams should consult this page for other methods of taking a proctored exam.

To do well in this course, you should follow the class regularly, participate in the discussion, read the chapters in the book each week as indicated in the homework assignments, start working on the homework and labs early, and talk to me promptly if you have any problems. The answers to the homework and exam questions, as well as your code, should be written in a way that is rigorous, clear and concise.
 

Policies

Lateness and Absence

No late homework or lab will be accepted. If you don't hand in a homework/lab in time, you will receive 0 points for the homework/lab. Midterm and final exams makeups must be arranged at least one week in advance, barring extreme situations.

Deadlines for adds, drops, and withdraws

See the deadlines here.

Changes to Syllabus

This syllabus is subject to change as necessary during the quarter. If a change occurs, it will be thoroughly addressed during class, posted under Announcements in D2L and sent via email.

Online Course Evaluations

Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation. Students complete the evaluation online in CampusConnect.

Academic Integrity and Plagiarism

All students are expected to abide by the University's Academic Integrity Policy (which you can find at http://academicintegrity.depaul.edu/) which prohibits cheating and other misconduct in student coursework. Publicly sharing or posting online any prior or current materials from this course (including exam questions or answers), is considered to be providing unauthorized assistance prohibited by the policy. Both students who share/post and students who access or use such materials are considered to be cheating under the Policy and will be subject to sanctions for violations of Academic Integrity. If you have any questions be sure to consult with your professor.

Academic Policies

All students are required to manage their class schedules each term in accordance with the deadlines for enrolling and withdrawing as indicated in the University Academic Calendar. Information on enrollment, withdrawal, grading and incompletes can be found at http://www.cdm.depaul.edu/Current%20Students/Pages/PoliciesandProcedures.aspx.

Students with Disabilities

Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential. To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted the Center for Students with Disabilities (CSD) at: 
Lewis Center 1420, 25 East Jackson Blvd. 
Phone number: (312)362-8002 
Fax: (312)362-6544 
TTY: (773)325.7296

COVID-19 Health and Safety Precautions

For Depaul updates and guidance on COVID-19 please visit go.depaul.edu/covid .
CDM specific FAQs and resources are listed at this page cdm.depaul.edu/covid .

The following mandatory protocols must be followed by DePaul students, faculty and staff at all times on both campuses: https://resources.depaul.edu/coronavirus/guidance/health-safety-practices/Pages/default.aspx

By doing these things, we are Taking Care of DePaul, Together. The recommendations may change as local, state, and federal guidelines evolve. Students who do not abide by the mask requirement may be subject to the student conduct process and will be referred to the Dean of Students Office. Students who have a medical reason for not complying with any requirements should register with DePaul’s Center for Student with Disabilities (CSD).