Chris Pollett >
Old Classes >
PIC10B Lec 1&2

   ( Print View )

Lecture Notes-PDF.

Enrollment info.

Course Info: Homework Assignments:
Practice Exams:

Fall 2000 PIC 10B Lec. 1&2 Home Page/Syllabus

Introduction to Programming

Instructor: Chris Pollett
Office: 6183 Math Sciences
Phone Number: (310) 825-2814
Office Hours: MWF 10-11am

Class Meets:
     Lec 1 MWF 11-11:50am in MS5200
     Lec 2 MWF 12-12:50am in MS5200
Sec 1ab TA: Chad Lillian
Office: MS2344
Hours: TR 10-11a.m. W 9a.m.

1a: TR 11-11:50 in MS5233
1d: TR 1-1:50 in BOELTER 5273
Sec 2ad TA: Mark Moelich
Office: MS2344
Hours: M 8:30-10am R3-4pm

2a: TR 12-12:50 in PUB POL 1256
2d: TR 2-2:50 in BUNCHE 3150
Sec 1cd TA: Keith Ouellette
Office: MS6139
Hours: T3-4pm(lab), W4-5 pm(lab), R2-3pm (off.)

1b: TR 10-10:50 in Franz 2258A 1c: TR 11-11:50 in BUNCHE 3170
Sec 1cd TA: Duc Quang Nguyen
Office: MS3919
Hours: T11-12(lab), R11-12(lab), R4-5pm(lab)

2b: TR 1-1:50 in WGYOUNG 2200
2c: TR 3-3:50 in MS 5128


To take this class you must have taken PIC10A.

Texts and Links

Available on Reserve at Powell Library.

Required Text: Problem solving with C++, 2nd Ed., by Walter Savitch.
Algorithms in C++, 3rd Ed., by Robert Sedgewick.
Online References
& Other Links:


This class continues where PIC 10A left off. More features of the C++ language are introduced. Classes, templates, recursion, and separate compilation will be discussed in depth. Moreover, unlike PIC 10a we will discuss ways to analyze the efficiency of algorithms and we will discuss the design of several important frequently used abstract data types. In particular, we will cover O-notation, linked-lists, a variety of tree types, sorting algorithms, and hashing.

Below is a tentative time table for when we'll do things this quarter:

Week 1: Sept.29 Savitch: Ch 6.2
Week 2: Oct. 2,4,6 (hw1) Savitch: Finish Ch 6, Ch8, 11.3, Appendix 9
Week 3: Oct. 9, 11, 13 Sedgewick: Ch1, 2.1-2.4
Week 4: Oct. 16, 18 (hw2), 20 Sedgewick: Finish Ch2, 3-3.3
Week 5: Oct. 23, 25, 27 (Midterm) Sedgewick: Finish Ch 3
Week 6: Oct 30, Nov. 1 (hw3), 3 Savitch 13 Sedgewick: Ch 4.1-4.4
Week 7: Nov. 6, 8, 10 (Holiday) Sedgewick: Finish Ch 4
Week 8: Nov. 13 (hw4), 15, 17 Savitch: Ch12, Sedgewick: Ch5.1-5.2
Week 9: Nov. 20, 22, 24 (Holiday) Sedgewick: Ch5.3-5.5
Week 10: Nov. 27, 29 (hw5), Dec. 1 Sedgewick: Ch 5.6-5.7,Ch6.1-6.2
Week 11 Dec. 4, 6, 8 (hw6) Sedgewick: Ch 6.3-6.4,8.1,8.3,14.1-14.2
Week 12 Final Sunday 3-6pm, Dec. 10

Grade Breakdown / Grading Policy

Homeworks       40% 
Midterm         25%
Final           35%

When I assign grades the high score has an opportunity to receive an A+. I do curve grades and my curving will be in line with previous times this class has been taught.

Homework Info

General Info

Links to the current list of assignments can be found on the left hand frame of the class homepage. After an assignment has been returned a links to its solution will be placed off the assignment page. Each homework will consist of a reading part and a programming part. Material from the reading part of an assignment may appear on midterms and finals. Late homeworks will not be accepted; however, your low homework score will be dropped. Lecture 1&2 will always have different due times so please be careful! Because of the stresses a large Lecture places on the PIC Lab, computing faculty are required to assign due times at the start of a quarter in preset time slots. Only one large lecture is allowed per slot.

Submitting Programming Assignments

To submit an assignment, simply copy the required files to your \SUBMIT directory. Leave them there for the rest of the quarter, even after they have been collected and graded. You may be able to submit files remotely with ftp, but it is best to make sure your submission works in the Lab before you submit. If you wish, you may overwrite a previous submission with a new version at any time before the due time on the due date.

Please do not store any files in your submit directory other than those that are to be or have been collected.

To confirm that you have submitted correctly, run the checksubmit program. This check generally requires a trip to the PIC Lab.

Your graded assignment will be placed in your \RETURN directory. Please create the directory if it doesn't exist. Also, check your \return subdirectory each week to verify your grades. This is very important; it is the only way to know for sure that you actually received credit for your assignment.


If you believe an error was made in the grading of your program or exam, you may request a regrade from me, Professor Pollett during my office hours. I do not accept e-mail requests for regrades. Such e-mails will not be responded to. A request for a regrade must be made no more than a week after the homework is returned. No requests for regrades will be considered unless they meet this deadlines. Be forewarned that the whole piece of work will be regraded, so the grade may go down rather than up.

Required Formatting

Since some of the grading process will be automated, it is important that your program follow the specifications in the assignment exactly. In particular, make sure submitted filenames are correct and data items in your program are inputted and outputted in the proper sequence and format. If you put files in your submit folder with an incorrect name so that it ends up not being collected, you will received a 0 for your homework and not be entitled to a regrade. To receive any points on your homework you must include the following items in the header of every file you submit:

  • Your Full Name (and nickname, if different)
  • Your Student ID
  • Your PIC 10B Login ID
  • Your Preferred E-mail Address
  • Your Discussion Section Identifier and Meeting Time
  • The Assignment Number and Description,
  • Your Honesty Pledge
  • A List of Known Bugs in your Solution.

This is a link to a properly formatted header.

Your code should be as easy to read as possible. Use indentation carefully and consistently to delineate levels of nesting. Disjoint blocks should be well separated by concise and informative comments. This will be worth at least 1 point of every assignment. Although you are allowed a fair amount of choice in style, please try to conform to the conventions used in lecture and in the text.

Academic Honesty

You are both allowed and encouraged to discuss general algorithms and approaches to programming problems with your classmates. But these discussions must remain at a high level and not involve actual code being exchanged. In particular, THE CODE YOU SUBMIT AS SOLUTIONS TO PROGRAMMING ASSIGNMENTS MUST BE YOUR OWN INDEPENDENT WORK. DO NOT SHARE CODE.

You are required to include the following Academic Honesty Pledge at the top of each program you submit:

Honesty Pledge:

I, (insert your name here), pledge that this is my own independent work, which conforms to the guidelines of academic honesty as described in the course syllabus.

The pledge must be worded precisely as above, with your own name inserted. Be aware that any detected activity even bordering on an infringement of these academic honesty guidelines will be forwarded to the Dean of Students for full investigation. The penalties may be severe, in several recent cases, students have been suspended and have had the incident permanently recorded. If you witness any cheating by classmates, please report it to Professor Pollett as soon as possible.


As shown above in the grade breakdown there will be both a midterm and final in this course. Both of these are closed book, closed notes. You will be allowed only the test and your pen or pencil on your desk during these exams. Beeper or cell-phone interruptions will result in immediate excusal from the test. The midterm will be in class on Oct. 27. The final will be on Sunday, Dec. 10 from 3-6pm. A photo ID will be required to take these tests. The final will cover material from the whole quarter although there will be an emphasis on material after the midterm. No make up exams will be given. The final exam may be scaled to replace the midterm if the midterm was missed under provably legitimate circumstances. These exams will test whether or not the student has mastered the material both presented in class or assigned as homework during the quarter. I will try to avoid both tricky and ambiguous questions. The week before each exam I will give out a list of problems representative of the level of difficulty of problems the student will be expected to answer on the exam. Any disputes concerning grades on exams should be directed to me, Professor Pollett.