CSC 401 - Introduction to Programming

Eric Sedgwick

Office: CDM 827

Course homepage: https://col.cdm.depaul.edu/

 

Summary

An introduction to programming with a focus on problem solving, structured programming, and algorithm design with a gentle introduction to efficiency. Concepts covered include data types, expressions, variables, assignments, conditional and iterative structures, functions, file input/output, exceptions, namespaces, and recursion. PREREQUISITE(S): None

Texts

Textbook

 

Introduction to Computer Science with Python, 2nd edition (ebook) Ljubomir Perkovic, Wiley, 2015.

ISBN (ebook): 978-1-118-89105-6
Please note that this is the ebook version of the 2nd edition. It contains some material that is not in the printed book.

Grading

Point scores and letter grades for the course will be computed according to the following tables:

 

 

 

 

Assignments

30%

 

Midterm Exam

35%

 

Final Exam

35%

 

A

90%

B

80%

C

70%

D

60%

F

<60%

Plus and minus scores will be assigned at the high and low ends of each of these ranges at the instructor's discretion. (No A+ or D-)

Assignments

Assignments will be posted weekly to the course website. Late assignments will receive a grade of 0. Your lowest grade will be dropped in the calculation of your grade.

 

Course Goals and Topics

In the first course we will focus on structured programming and learn how and when to use conditionals, loops, and functional and modular abstractions.

After the successful completion of this course: 

  1. you will have stronger problem solving skills;
  2. you will know how develop algorithmic solutions, including recursive ones, for basic computational problems;
  3. you will understand fundamental programming structures such as expressions, assignments, decision and iteration structures, functions and modules;
  4. you will have basic Python programming skills;
  5. you will be prepared to take a course in Object Oriented Programming in Java or C++.

Course Calendar

The following gives a tentative schedule for this quarter:

 

Week 1

Python interpreter; variables, expressions, and assignments; core data types (number types, string, and list); (using) objects and classes (Ch 2)

Week 2

Python programming; one and two-way conditional statements; iteration through sequence objects; functions and parameter passing (Ch 3)

Week 3

String processing; file I/O; exceptions (Ch 4)

Week 4

multi-way conditional structures; loop patterns (Ch 5)

Week 5

multi-dimensional lists; more loop patterns (Ch 5)

Week 6

Midterm exam:

In class students: usual class time during week 6

Online students:  schedule through COL

Week 7

Functional and modular abstraction; namespaces; the program stack and normal execution flow (Ch. 7); intro to recursion (Ch. 10)

Week 8

Recursion (Ch. 10)

Week 9

Recursion (Ch. 10)

Week 10

Topics: exception handling (Ch 7); additional collection classes (dictionary, tuple, and set); string encodings (ASCII and Unicode); randomness (Ch. 6)

Week 11

Final exam:

In class students: usual class time during final exam week (week 11)

Online students: schedule through COL

School policies:

Online Teaching Evaluation

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

Email

Email is the primary means of communication between faculty and students enrolled in this course outside of class time. Students should be sure their email listed under "demographic information" at CampusConnect is correct.

Academic Integrity Policy

This course will be subject to the academic integrity policy passed by faculty. More information can be found at http://academicintegrity.depaul.edu/

Plagiarism

The university and school policy on plagiarism can be summarized as follows: Students in this course should be aware of the strong sanctions that can be imposed against someone guilty of plagiarism. If proven, a charge of plagiarism could result in an automatic F in the course and possible expulsion. The strongest of sanctions will be imposed on anyone who submits as his/her own work any assignment which has been prepared by someone else. If you have any questions or doubts about what plagiarism entails or how to properly acknowledge source materials be sure to consult the instructor.

Incomplete

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 the College of Computing and Digital Media. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.

Resources for 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: 
Student Center, LPC, Suite #370 
Phone number: (773)325.1677 
Fax: (773)325.3720 
TTY: (773)325.7296