Hands-on introduction to computer science using the Python programming language. Teaches fundamentals of programming, data structures, algorithmic techniques and more advanced topics. Emphasizes algorithmic thinking and computational problem solving and provides an introduction to the concepts and methods used in Computer Science. Required for all CSC majors.
Credit Hours: This is a four credit class. This class follows the university credit hour policy and is expected to to require a typical time commitment of 8-12 hours per week.
Meeting Time and Location: Mon/Wed 10:25-11:40am, Hoyt Hall 104
Prerequisites: No formal prerequisites (see Note 1)
Labs: You must also register for a lab and workshop to take the course. Labs are physical computer labs where students can practice programming with the help of student TAs. Some assignments may require you to demonstrate your work to your TA individually or in small teams. Attendance in labs is otherwise typically optional but encouraged.
Workshops: Workshops are small-group peer study sessions facilitated by students who receive training from the Center for Education Teaching, and Leadership (CETL). Workshop participation is required and graded based on collaborative problem solving exercises. Students who need to miss a workshop can complete the workshop activities on their own and connect with their workshop leader to receive credit. Workshops begin September 2nd and occur every week except exam weeks. (See schedule for exam dates.)
Note 1: This is the first required course for all CSC majors. There will be substantial programming assignments. Non-majors, or those looking for a gentler introduction to programming, may wish to consider taking CSC 161 instead of (or prior to) taking this course.Note 2: Almost all lectures in this course are cumulative, and early topics provide important foundations. Requests to enroll in this course after September 1st will not be approved.
The course covers the following topics:
Students taking the course will: