22C:16 (CS:1210) Computer Science I: Fundamentals

Main section: 9:30-10:20 MWF Room W10 PBB (John Papajohn Business Building)
Evening section: 5:00-6:45 MW, Room 118 MLH (MacLean Hall)

Sriram V. Pemmaraju (Main section)
101G MLH, sriram-pemmaraju@uiowa.edu, 319-353-2956
Office Hours: 1:00pm-2:30pm M, 11:30am-1:00pm Th

Alberto M. Segre (Evening section)
14D MLH, alberto-segre@uiowa.edu, 319-335-1713
Office Hours: 2:30pm-4:00pm Th

Computer Science I: Fundamentals is an introductory course on computer programming with an emphasis on problem solving techniques. During the semester, students will gain proficiency in skills that are fundamental to solving computational problems, namely: (i) reading and understanding descriptions of computational problems that may sometimes be stated incompletely or imprecisely, (ii) breaking down a computational problem into simpler subproblems, (iii) designing algorithms for computational problems, (iv) translating algorithms into pseudocode and then into programs, (v) testing and debugging prgrams, and (vi) understanding time efficiency and memory usage of programs. Students will learn the importance of iterating through the above sequence of steps to build correct, well-documented, efficient, and reusable programs. The key programming topics include variables, expressions, data types, control flow statements, functions, data structures, objects and classes. The course will use the Python programming language. Python can be used interactively and can be accessed on Linux/Unix, Mac, and Windows platforms. The course is the starting point for computer science major and minor curricula, and also useful to other majors as a rigorous introduction to programming and solving computational problems. This semester the course has two sections. The "main section" (CS:1210:0AAA, 22C:016:AAA) consists of three lectures per week, with an additional discussion section that meets once per week. The "evening section" section (CS:1210:0SCA, 22C:016:SCA) meets twice a week, with no separate discussion sections.

Syllabus document, Information about TAs, Announcements, Quizzes, Projects, and Exams, Weekly Topics, Online Resources

(From xkcd)

Information about TAs

The course has been assigned 3 TAs, who are graduate students in the Department of Computer Science. Information on their office hours and contact will appear here shortly. Below you can see names of the TAs and the discussion sections they will be leading. The office hours of the TAs are as follows: TAs will hold office hours in the Computer Science Lab, 301 MLH.

Quizzes, Homeworks, Projects, and Exams


Weekly Topics and Links to Lecture Notes

Online Resources