Anda di halaman 1dari 4

CS 32 Winter 2015 Syllabus

2/1/15, 10:20 PM

CS 32: Introduction to Computer Science II


Computer Science Department
University of California, Los Angeles
Winter 2015
Course Objectives
Course Website
Instructors and Class Meetings
Schedule of Lecture Topics and Exams
Textbook

Lecture and Discussion Sections


Programming Projects and Homeworks
Examinations
Grading

Course Objectives
In this course, you will learn how to employ data abstraction to build programs larger than those you constructed in CS
31. You will learn how to use a variety of data structures in the course of solving problems, and importantly, how to
analyze what data structures and algorithms are most appropriate for a given problem. In addition, you will deepen your
understanding of modern programming by learning the principles of object-oriented and generic programming.

Course Website
The URL for the course website is http://cs.ucla.edu/classes/winter15/cs32. You must check the site for announcements
at least every other weekday. You must also check your email as regularly.

Instructors and Class Meetings


Lecture 1
MW 10-11:50
Boelter 3400
Carey Nachenberg

Lecture 2
MW 12-1:50
Boelter 3400
David Smallberg

Lecture 3
MW 2-3:50
Boelter 3400
David Smallberg

climberkip@gmail.com

das@cs.ucla.edu

das@cs.ucla.edu

Discussion 1A
F 10-11:50
Boelter 5249
Jinha Kang
jinha@cs.ucla.edu

Discussion 1B
F 10-11:50
Boelter 5272
Zhou Ren
zhou.ren@cs.ucla.edu

Discussion 1C
F 10-11:50
Boelter 3400

Discussion 1D
F 12-1:50
Rolfe 3129
Noah Duncan

Discussion 2A
F 12-1:50
Boelter 3400
Tuan Le

Discussion 2D
F 2-3:50
Boelter 5280
He Ma

Discussion 3A
F 2-3:50
Boelter 3400
Olivera Grujic

Discussion 3D
F 12-1:50
Haines A44
Samuel Ahn

ogrujic@cs.ucla.edu

sswahn@ucla.edu

Discussion 2E
F 12-1:50
Boelter 4413
Suming Chen

Discussion 3B
F 2-3:50
Rolfe 3105
Katherine Wang

Discussion 3E
F 2-3:50
Boelter 5436
Khaled Refaat

suming@ucla.edu

k8wang@cs.ucla.edu

krefaat@cs.ucla.edu

nduncan@cs.ucla.edu tuanle@cs.ucla.edu sunnymh0728+ta@ucla.edu

Discussion 2B
F 12-1:50
Royce 156
Nick
Karianakis
nick@cs.ucla.edu

Discussion 2C
F 12-1:50
Boelter 5280

https://ccle.ucla.edu/pluginfile.php/752786/local_ucla_syllabus/syllabus/15442/syllabus.html

Discussion 3C
F 2-3:50
Boelter 4283
Page 1 of 4

CS 32 Winter 2015 Syllabus

2/1/15, 10:20 PM

Kung-Hua Chang

Joshua Joy

Peng Wei

kunghua@cs.ucla.edu

jjoy@cs.ucla.edu

peng.wei.prc@cs.ucla.edu

Office hours for the instructors and the TAs are on the class web page.

Schedule of Lecture Topics and Exams


Week
1

2
3

6
7

10

end of

Date

Topics

Book

Jan.

Introduction, C++ Review

Chapter 1

Jan.

Data Abstraction, C++ Classes

Chapter 3

Jan.

Pointers, Dynamic Arrays, Resource


Management

Chapter 4

Jan. 12

Linked Lists

Chapter 4

Jan. 14

Stacks and Queues

Chapters 6 and 7

Jan. 19

M. L. King, Jr., Day holiday

Jan. 21

Advanced C++, Inheritance, Polymorphism

Chapter 8

Jan. 26

Inheritance, Polymorphism

Chapter 8

Jan. 28

Object-Oriented Design Principles, Midterm


review

Chapter 9

Jan. 28

Midterm exam part 1 (5:00 to 6:05 or 5:45 to


6:50)

Feb. 2

Recursion

Chapters 2 and 5

Feb. 4

Recursion

Chapters 2 and 5

Feb. 9

Templates, Iterators, STL

Chapter 8

Feb. 11

Algorithmic Efficiency, Sorting

Chapter 9

Feb. 16

Presidents' Day holiday

Feb. 18

Sorting, Midterm review

Chapter 9

Feb. 23

Trees

Chapter 10

Feb. 23

Midterm exam part 2 (5:00 to 6:05 or 5:45 to


6:50)

Feb. 25

Trees

Chapter 10

Mar. 2

Tables, Tree-based Tables, Hash Tables

Chapters 11 and
12

Mar. 4

Trees and Arrays, Priority Queues, Heaps

Chapters 11 and
12

Mar. 9

Graphs

Chapter 13

Mar. 11

Review

Mar. 14

https://ccle.ucla.edu/pluginfile.php/752786/local_ucla_syllabus/syllabus/15442/syllabus.html

Page 2 of 4

CS 32 Winter 2015 Syllabus

10

2/1/15, 10:20 PM

(Sat.)

Final exam, 11:30 AM to 2:30 PM

Textbook
The course textbook is Data Abstraction and Problem Solving with C++: Walls and Mirrors, Sixth Edition, by Frank M.
Carrano, Addison Wesley, 2013. The Fifth Edition or even the Fourth Edition is acceptable as well.
Good C++ books we could recommend are Accelerated C++, by Andrew Koenig and Barbara E. Moo, Addison Wesley,
2000, and Thinking in C++, Second Edition, by Bruce Eckel, Addison Wesley, 2000; the latter book is available online
for free.

Lecture and Discussion Sections


Lectures will present material from the course textbook, supplemented by additional subject matter. You are responsible
for all material presented in all lectures.
In discussion sections, your TA will review material covered in the lectures, present subject matter not covered in the
lectures, discuss homeworks and programming projects, and answer questions.

Programming Projects and Homeworks


You cannot learn how to write large programs without writing large programs. There will be four programming projects.
Your program correctness score is based on your program's correctness as determined by our testing. The amount of time
you spent working on the program is irrelevant; indeed, if you follow our software development advice, you'll probably
spend less time and get a higher score than if you don't.
Since the projects cannot give you experience with all the material in the course, there will be five homework
assignments in addition to the projects. These may require you to answer some questions and analyze or write small
programs. Some of the work you put into the homework will do double duty: it will help you with a programming
project or will serve as a good study guide for an exam. If you are seriously interested in mastering the course material,
you will do every homework problem, even though not every problem of every homework assignment will be graded.
(You won't know which problems won't be graded.)
Every C++ program you turn in for this class must run correctly under two compilers: Visual C++ 2013 or 2012 and
either clang++ or g++ (either on a Mac or under Linux).
Programming projects and homeworks are due at 9 PM on the dates listed below. Late submissions will be penalized by
0.0027778% per second (which comes to 10% per hour), making a submission worthless if submitted after 7 AM the
next morning.
Project 1

Tuesday, January 13

Homework 1 Tuesday, January 20


Project 2

Tuesday, January 27

Homework 2 Tuesday, February 3


Homework 3 Tuesday, February 10
Project 3

Part 1: Thursday, February 19


Part 2: Thursday, February 26

Homework 4 Tuesday, March 3


https://ccle.ucla.edu/pluginfile.php/752786/local_ucla_syllabus/syllabus/15442/syllabus.html

Page 3 of 4

CS 32 Winter 2015 Syllabus

2/1/15, 10:20 PM

Project 4

Thursday, March 12

Homework 5 Thursday, March 12

Examinations
The midterms will cover material from the lectures and the textbook. The final examination will cover material from the
entire course. Missing the final for any reason will result in a final exam score of zero.

Grading
Your grade in the course will be determined from your total score, although a final exam score below 40 may subject you
to a failing grade regardless of your total score. The total score is determined from the graded materials as follows:
Project 1
Project 2
Project 3
Project 4
Homeworks
Midterm exam
Final exam

1%
10%
10%
10%
19%
20%
30%

The total points you earn from projects and homeworks (scaled to 0 through 100) will be capped at 30 points above the
mean of your exam scores (scaled to 0 through 100). For example, if you average 90 on the assignments, your midterm
score is 60, and your final is 40, then your assignment average is treated as only 80 (because that's 30 more than the
mean of 60 and 40). In other words, your assignment scores won't count fully if you can't show from your exam scores
that you learned what you should have from the assignments.
A request for reconsideration of the grading for an item must be made within one week of our sending you your score for
that item.
You will not earn points on any of your coursework until you have signed and turned in the Academic Integrity
Agreement.

https://ccle.ucla.edu/pluginfile.php/752786/local_ucla_syllabus/syllabus/15442/syllabus.html

Page 4 of 4