PIC 10B: Intermediate Programming

Spring 2009

Administrivia

Venue HAINES A25
Time 10-10:50am
Lectures MWF (Mondays, Wednesdays and Fridays)
Discussions TR (Tuesdays and Thursdays)

Instructor Teaching Assistant 2a Teaching Assistant 2b
Name Iftikhar Burhanuddin Aleka McAdams Ryan Compton
Lecture/Discussion MWF 10-10:50am TR 9-9:50am TR 10-10:50am
Venue HAINES A25 MS 5148 MS 5233
Office MS 5338 PIC Lab MS
Office Hours MWF 12:30-1:30 or by appt. R 1:00-3:00
e-mail burhanud at math.ucla.edu amcadams rcompton

Course description and Syllabus

PIC 10B is a 5 unit course, with 3 hours of lecture and 2 hours of discussion.

This class will serve as an intermediate computer programming course and will be a logical continuation of PIC 10A. The syllabus includes topics such as: recursion, sorting and searching, data structures such as linked lists, stacks and queues, operator overloading, memory management, exception handling, name scope management, polymorphism, templates, and the Standard Template Library. The syllabus is subject to change.

While the lectures will focus on the theory, the assignments will have a programming bent. The intention is to guide students to see how ideas on paper are turned into programs which solve problems in practice. The required prerequisite for this course is PIC 10A or its equivalent.

Textbook

Big C++, 2005
Cay S. Horstmann and Timothy A. Budd

PIC Lab

Venue BOELTER 2817
Time Monday-Thursday 9:00-6:00, Friday 9:00-5:00, Sunday 1:00-5:00
Website http://www.pic.ucla.edu/piclab

The PIC Lab is staffed during its open hours by undergraduate lab assistants. They are there to help with computer issues, not to debug your programs. If you need help with your assignment, you should ask the TA's or the professor. The computers in the lab are set up with the necessary software for completing and submitting your homework. You can work at your home computer, but you are responsible for using the same C++ compiler (Microsoft Visual Studio 2005) and correctly submitting your homework via Moodle.

Assignments, Exams

There will be about 9 homework assignments, which will be assigned one at a time each week of the quarter. Each homework will be due Friday 5:00pm. The homework will be submitted electronically using your Moodle account. No late homework will be accepted. You must follow the directions and use the file names specified in the assignment, or else your submission will not be graded. You are encouraged to use the resources in the PIC Lab to do your homework, as well as seek the help of the the TA's and the instructor. You may discuss the homework assignment with your classmates in general terms, but do not show your code to another student. At the end of the quarter, the assignment with the lowest score will be dropped and the remaining assignments will count toward the grade.

There will be two in-class midterm exams, which will be held on Monday, April 20 and Monday, May 18. If you are unable to take the exam at the scheduled time, you must contact the instructor before the exam time. No make-up exams will be given, instead your other exams will be weighted more, provided the absence is due to a legitimate reason, which will require appropriate documentation.

The final exam will be held on Sunday, June 07 from 3:00--6:00pm at HAINES A25 and the syllabus for the exam will be the entire content of the course. Failure to take the final will result in a failing grade.

Requests for regrades of homeworks or midterms will have be to be made within two weeks of the announcement of the grades.

The course letter grades will be determined based on the class distribution of the total points. The grade breakdown is as follows:

Assignments 30%
2 Midterms 20% each
Final 30%

Scores on the assignments, midterms and final will be posted on my.ucla.

Moodle

Course news, slides, handouts, assignments, details on submission, etc. will be posted on the Moodle course page: http://malibu.pic.ucla.edu/moodle/. Also homeworks will be submitted via Moodle. To access Moodle, point your browser to the above Moodle url and you will see a list of Moodle course pages. You should click on the PIC 10B link and you will be taken to the login page. The login name is the same as your Bruin Online (BOL) user name, and their initial password is your 9-digit ID number. The enrollment key will be given out in class. Students are encouraged to use the discussion forums on Moodle to ask questions about the course, etc.

Academic Honesty

Students are encouraged to collaborate with fellow students on general strategies for homework, but solutions should be written up and programming assignments should be worked on alone. Seeking help from outside the class room (such as friends, discussion forums on the Web) is not appropriate. The homework should list the fellow students with whom the solutions were discussed. Cheating and plagarism on the assignments and exams will result in disciplinary action. Please consult the documents related to Academic Integrity, Student Conduct for details.

Special Needs

OSD students contact the instructor as soon as possible to discuss any special arrangements.