1:30-2:20 MWF Room 112 MH (MacBride Hall)
Sriram V. Pemmaraju
101G MLH, firstname.lastname@example.org, 319-353-2956
Office Hours: 11-12:20 Monday and 11:00-12:20 Wednesday
Course website: http://www.cs.uiowa.edu/~sriram/21/fall08/
This is the second in the sequence of core undergraduate computer science courses and is required for all computer science majors and minors. It builds on the first course, Computer Science I: Fundamentals (22C:16) and and is concerned mainly with the design and implementation of data structures, algorithms for accessing and manipulating data structures, and the application and uses of data structures. Java is the programming language of choice for this course, but the last programming project may contain pieces that you will have to complete in C.
This course is run by the College of Liberal Arts and Sciences. This means that class policies on matters such as requirements, grading, and sanctions for academic dishonesty are governed by the College of Liberal Arts and Sciences. Students wishing to add or drop this course after the official deadline must receive the approval of the Dean of the College of Liberal Arts and Sciences. Details of the University policy of cross enrollments may be found online here.
C- or better in 22C:16
There is no required textbook for this course. Links to a variety of reading material and Java code will be posted on the course page, as we go along. I have posted reading material for the first 2 weeks of the semester. Given the amount of freely available material of reasonable quality on the web and the rapidly rising costs of textbooks, I have decided to try a "no textbook" approach to this course. If you would rather have a book in your hand, you might purchase (or borrow) one of the following books, used in previous offerings of the course.
Java in a Nutshell, Fifth Edition by David Flanagan, published by O'Reilly, 2005.
This book is not required either!
Discussion sections and Teaching Assistants
There are 3 discussion sections associated with the class. Each one of you is registered for a discussion section and should attend the discussion section you have registered for. The discussion sections will meet in the McLean Hall computer lab in 301 MLH and will be conducted by a Teaching Assistant (TA). There are two TAs for the course: Kajari Ghosh Dastidar and Chris Dibbern. They will lead discussion sections according to the following schedule.
Section Time Location TA A01 8:30-9:20 Th 205 MLH Kajari Ghosh Dastidar A02 3:30-4:20 Th 118 MLH Kajari Ghosh Dastidar A04 1:30-2:20 Th 75 SH Chris DibbernYou should think of the TAs as the front-line for getting help in this course. Together they will have 6 office hours per week, spread through the week and will also answer questions by e-mail and on the phone. Contact information and office hours for the TAs will be posted shortly.
The discussion sections will complement the lectures in a variety of ways and will provide opportunity to deepen your understanding of the material covered in the lectures. In the beginning of the semester, the TAs will spend time on Java programming and using the Eclipse IDE. As the semester progresses, the discussion sections will provide specific guidance on programming projects, additional examples of data structures and running time analysis, additional examples of Java code snippets, etc. Due to their small size, the discussion sections will provide an environment in which students feel free to ask questions.
For this course, it will be helpful if you have an account on computer science machines. Most of you already have such accounts; the rest of you will get CS accounts by the end of the first week. You will also need a HawkID and a password to login to ICON to electronically submit your assigned work.
Plus/Minus grading will be used for the course. There are the four components that will determine your grade.
Midterm October 17th, Friday 1:30-2:20 (in 112 MH) Final December 15th, Monday 12:00-2:00 (in 112 MH)All exams and quizzes will be open book/notes exams. The final will be cumulative,
Solutions will be provided on the course page for all graded work, including programming assignments.
Students with disabilities
I would like to hear from anyone who has a disability which may require seating modifications or testing accommodations or accommodations of other class requirements, so that appropriate arrangements may be made. Please contact me during my office hours.
Academic dishonesty will not be tolerated. Under no circumstances should you pass off someone else's work as your own. This also applies to code or other material that you might find on the internet. Note that we will routinely use available software systems for detecting software plagiarism, to test any suspicions we might have. If you are unclear about what constitutes academic dishonesty contact your professor or consult the printed policy in the Schedule of Courses and the CLAS Bulletin (online version). We do want students to talk to each other about concepts and ideas that relate to the class. However, it is important to ensure that these discussions do not lead to the actual exchange of written material.
If you have any complaints or concerns about how the course is being conducted by me or by the TAs please feel free to talk to me. You are also welcome to get in touch the the Computer Science department chair, Prof. Jim Cremer (email@example.com, 319-335-1713, 14D McLean Hall). Consult the college policy on Student Complaints Concerning Faculty Actions (online version) for more information.
Tentative List of Topics