Introduction to Programming
CSC 401 (702 & 711)

Marcus Schaefer

Latest additions

Homeworks and Examples

Assignments will be available through this webpage. Late homeworks will not be accepted (but the lowest homework score will be dropped). You can submit your homeworks through d2l.




Questions and Answers


Classes, labs and office hours

The in-class section (702) meets M 5:45-9:00 in Lewis 1214, online recordings will be available shortly after the completion of the class.

Since we will be doing a lot of programming in this class, I suggest you bring your laptop to class (if you're in the in-class section, make sure it's charged, there won't be sufficiently many outlets in the classroom for everybody), or work along as you're watching it online if you're in the OL section.

My office hours are M 4-5:30 and TuTh 3:10-3:55 in CDM 749. Online students: feel free to call me during that time.

If you want to set up an appointment at another time, or simply ask a question, send email to


Introduction to Computer Science with Python, Ljubomir Perkovic, Wiley, 2012.


For general information, see the official class syllabus. This course has no prerequisites.

The following is a very rough schedule, and we might depart from it.


Python Interpreter, variables, expressions, assignments, basic data types (Chapter 2)


Control Flow: conditionals, iteration, functions, parameter passing (Chapter 3)


String processing; file I/O, exceptions (Chapter 4)


More Control Flow: multi-way conditions, loop patterns, multi-dimensional data types (Chapter 5)




Functions and modular abstraction; namespaces, execution flow (Chapter 7), intro to recursion

8-9 Recursion (Chapter 10)


Advanced Topics: Exception Handling (Chapter 7), collection classes, string encoding, randomness (Chapter 6)
11 Final Exam

Grades and exams

Assignments: 40%, Midterm: 30%, Final exam: 30%.

Midterm for the in-class section will be during class-time, 10/21 in the lab CDM 658; the final exam will take place on Monday, 11/25, again in the lab CDM 658. Online students will be able to sign up for proctored exams or the in-class exam. No make-up exams. Exams will require a laptop (in-class exams will meet in a special lab, online students need to find a proctoring location with laptops, or bring their own laptop).

I will use the following grading scheme:

Grade Percentage
A 95-100
A- 90-95
B+ 87-90
B 83-87
B- 80-83
C+ 77-80
C 73-77
C- 70-73
D+ 65-70
D 60-65
F <60

Throughout the quarter there will be extra credit problems; extra credit does not directly make up for points lost on homeworks or exams; instead it is added in with a weight to the final grade (i.e. not doing extra credit won't harm you, but doing it can move you up).

General Policies

Academic Honesty

The course adheres to the university Academic Integrity Policy, the following is an excerpt from the policy:

Cheating: Cheating is any action that violates university norms or instructor's guidelines for the preparation and submission of assignments. This includes but is not limited to unauthorized access to examination materials prior to the examination itself, use or possession of unauthorized materials during the examination or quiz; having someone take an examination in one's place-copying from another student; unauthorized assistance to another student; or acceptance of such assistance.

Plagiarism: Plagiarism is a major form of academic dishonesty involving the presentation of the work of another as one's own. Plagiarism includes but is not limited to the following:

Complicity: Complicity is any intentional attempt to facilitate any of the violations described above. This includes but is not limited to allowing another student to copy from a paper or test document; providing any kind of material—including one’s research, data, or writing—to another student if one believes it might be misrepresented to a teacher or university official; providing information about or answers to test questions.

A charge of cheating and/or plagiarism is always a serious matter.  If proven, it can result in an automatic F in the course and, in case of a repeated violation, possible expulsion.

For homework this means that while you can talk to other students about the class material, you should not talk about your homework solutions; you should not share your homework solutions, either in written or electronic form. Any work you submit with your name on it needs to have been done solely by yourself. If you do use someone else's work, you need to clearly mark this by placing quotations within quotation marks and citing any references you use. If you have questions on proper citation, you can visit DePaul's Writing Center.

Using materials prepared for other purposes (e.g., another course or work) needs the course instructor's prior permission.


An incomplete grade is given only for an exceptional reason such as a death in the family, a serious illness, etc. Any such reason must be documented. Any incomplete request must be made at least two weeks before the final, and approved by the Dean of CDM. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.

Marcus Schaefer
Last updated: August 19th, 2013.