Introduction to Programming (22C:16, 22C:106)

W10 PBAB, 8:30-9:20, MWF

Professor: Sriram Pemmaraju Office: 201K MLH; Phone: 335-0734 Office Hours: 10:30 to 11:30 MWF, 2:00 to 3:00 Th

Objectives of the course:

The main objective of this course is to introduce students to computer science via the vehicle of programming in C++. Students will not become expert C++ programmers by taking this course; but they will learn just C++ to write non-trivial programs. It is my hope that by the end of this course students will be able to understand and appreciate the answers to certain fundamental questions in computer science:

(a)
Given a problem, how do we go about constructing a mechanical procedure, that is, an algorithm, for solving the problem?

(b)
Given an algorithm, how do we express the algorithm in a programming language? What are the features that we would like an ideal programming language to have?

(c)
How do we measure computational resources, such as time and memory used by the programs we write? How can we write programs that make better use of these resources?

(d)
What principles should be followed in order to write programs that are robust, easy to read, easy to modify, and easy to check for correctness?

Textbook:

The required text book for this course is

A Computer Science Tapestry: Exploring Programming and Computer Science with C++, Owen L. Astrachan, McGraw Hill Publishing Company

Student Evaluation:

There are three components of evaluation, each designed to test certain aspects of students' understanding of the material.

  1. Three in-class exams. The first two are each worth 100 points and the final exam is worth 200 points. The details are as follows:
     
          	 Date 			  Time  		  Place
    	Feb 21st  		 8:30-9:20   		 W10 PBAB
    	Apr 11th   		 8:30-9:20   		 W10 PBAB
    	May 15th   		 12:00-2:00  		 W10 PBAB
    

  2. Four programming assignments, each worth 100 points. The official programming environment for this class is the Metrowerks CodeWarrior Version 11 for the Macintosh computers. This software can be accessed from Macintosh computers in most ITCs on campus. The McLean Hall ITC has been a popular place for students in this class. You may choose to develop your program in some other environment, say, using Borland C++ on an IBM PC. However, the program you turn in must be on a Macintosh floppy disk and should be executable from within the CodeWarrior environment. The project handouts will be available on the course home page on the following Tuesdays: Feb 4th, Feb 25th, Mar 18th, and Apr 15th. Each project will be due back in exactly 3 weeks.

  3. Ten homeworks, each worth 20 points. Each homework will be made available on the course home page on a Thursday and will be due back the next Thursday. The homeworks will be handed out on the following Thursdays: Jan 23rd, Jan 30th, Feb 6th, Feb 20th, Feb 27th, Mar 13th, Mar 20th, Apr 10th, Apr 17th, and May 1st.

To obtain the course handouts and for other announcements please visit the course home page at: http://www.cs.uiowa.edu/~sriram/16spring97/16.html. An important part of keeping up with this course is visiting the home page regularly.

List of Topics:

My goal is to cover the first 11 chapters of the text book. Covering the first 11 chapters of the textbook will satisfy the objectives of the course and will adequately prepare you for the next computer science course, 22C:17/22C:107. I will appreciate hearing your views about the textbook. There are many introductory programming textbooks available and picking the ``right'' textbook is hard; any feedback we get from you will make our task easier.

Discussion Sections and Teaching Assistants:

This class has been assigned 4 teaching assistants (TAs). Each TA will lead 2 of the 8 discussion sections. In addition, each TA will grade work submitted by students and will hold office hours regularly. The TAs will announce their office hours in the first couple of discussion section meetings. This announcement, like all other announcements, will appear on the course home page. The TAs are your first line of help; they will be able to give you more personal attention than I can since each of them will be dealing with far fewer students than I. So please go to the discussion section regularly, get to know your TA, and do not hesitate to ask them questions in the discussion section or during their office hours. The discussion section is meant for you to ask questions and for the TA to amplify concepts that I have introduced in the lecture. Details of when and where the discussion sections meet are as follows:

 
              	Dis 001		8:30		TTh 	   	205 MLH
         	Dis 002      	9:30 	  	TTh 	    	205 MLH
	       	Dis 003   	12:30   	TTh 		205 MLH
         	Dis 004   	1:30  	 	TTh 	  	205 MLH
               	Dis 005     	2:30 		TTh 		205 MLH
               	Dis 006    	3:30 		TTh 	    	205 MLH
         	Dis 007    	4:30 		TTh     	205 MLH
                Dis 008	  	5:30 	  	TTh 		205 MLH

Final Comments:

If you have any questions or comments please do not hesitate to see me during my office hours or send me e-mail at sriram@cs.uiowa.edu. If you cannot see me during my office hours you should try to schedule an appointment with me via e-mail. Because of the number of students in the class, I will not be able to meet with anyone outside my office hours, even for casual or ``quick'' questions.

It is expected that all work submitted for grading is your own work. In accordance with the departmental policy, if you violate this rule, you will fail the course. For more details see Section 1.6 (Academic Integrity) of the Undergraduate Handbook. This can be accessed on the www at

http://www.cs.uiowa.edu/graduate-handbook/usection-1.6.html

If you are unsure about how closely you can work with your friends on an assignment please come and see me or your TA for advice.

I would like to hear from anyone who has a disability which may require some modification of seating, testing, or other class requirements so that appropriate arrangements may be made. Please see me regarding this after class or during my office hours.



Sriram Pemmaraju
Thu Jan 16 15:22:57 CST 1997