CSC161: Introduction to Programming
Summer 2025
Course Information
Hands-on introduction to programming using the Python programming language. Covers basic programming constructs including statements, expressions, variables, conditionals, iteration, and functions, as well as object-oriented programming and graphics. Recommended for non-majors, and/or students with limited math background.
Credit hours: 4.0
Class: Tue/Wed/Thu/Fri 1700-1900 - online
Location: Zoom Room in Blackboard
Prerequisites: There are no prerequisites.
Audience: Students interested in introductory computer science, but with other declared majors and those interested in a gentler introduction into the field. Computer science majors should take CSC 171 instead as CSC 161 is not equivalent to CSC 171 and does not satisfy the requirement for CSC 171.
Course Mechanics
Format:
The course will be held online and requires a stable internet connection and familiarity with Blackboard and Zoom. Web-cam and microphone are needed to participate in virtual classroom sessions and participant's cameras are to be kept on for the duration. All course material including lecture addenda will be made available via Blackboard.
Please note, all online classes will be recorded!
Recommended Textbooks:
The course largely follows the basic structure of Zelle's book. As such the text it not required but recommended. Additional reading suggestions will be made throughout the course.
How to Think Like a Computer Scientist (free)
Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers
< http://www.openbookproject.net/thinkcs/python/english3e/>
Think Python
Allen B. Downey
O’Reilly Media
ISBN: 144933072X
Python Programming: An Introduction to Computer Science, 3rd Ed.
John Zelle
Franklin, Beedle & Associates; 3rd edition (August 8, 2016)
ISBN-13: 978-1590282755
Course calendar *
Mon
|
Day
|
DOW
|
Special
|
Class
|
Topic
|
5
|
20
|
T
|
|
1
|
Introduction to the Course
|
5
|
21
|
W
|
|
2
|
Computer Programs
|
5
|
22
|
R
|
|
3
|
Writing Programs
|
5
|
23
|
F
|
|
4
|
Numbers
|
5
|
27
|
T
|
|
5
|
Objects & Graphics
|
5
|
28
|
W
|
|
6
|
Sequences
|
5
|
29
|
R
|
|
7
|
Functions i
|
5
|
30
|
F
|
|
8
|
Functions ii
|
6
|
3
|
T
|
|
9
|
Decision Structures i
|
6
|
4
|
W
|
|
10
|
Decision Structures ii
|
6
|
5
|
R
|
|
11
|
Classes
|
6
|
6
|
F
|
|
12
|
Games
|
6
|
10
|
T
|
|
13
|
Loops & Booleans
|
6
|
11
|
W
|
|
14
|
PyGame
|
6
|
12
|
R
|
|
15
|
Simulation & Design
|
6
|
13
|
F
|
|
16
|
Data Collections i
|
6
|
17
|
T
|
|
17
|
Data Collections ii
|
6
|
18
|
W
|
|
18
|
Testing & Design
|
6
|
19
|
F
|
|
19
|
Algorithms
|
• There is NO final exam for this course during the final exam period.
• This course does NOT permit additional work for extra credit under any circumstances.
* Subject to change
Grading:
This course follows the College credit hour policy for four-credit courses. This course meets three times weekly for 4 academic hours per week. The course also includes graded assignments and projects of varying length.
• Project 1: 10%
• Project 2: 20%
• Project 3: 20%
• Homework: 30%
• Workshop: 20%
Late submissions will not be accepted!
Grade appeals must be submitted to the grading TA as well as the instructor within 3 days of original grade issuance.
Note: Students interested in the course should add it at semester begin as assignments are handed starting the first week. Late assignments cannot not be accepted and it is therefore not advisable to add this course late in the semester.
Assessment and Student Support
Learning Outcomes
Provide a deeper understanding of foundational computer science alongside with fluency in the Python computer language as tool set for applications in computational problem solving.