UCR CS 14: Introduction To Data Structures & Algorithms

Summer 2003 (Session I): June 23 - July 25


Programming Points
Assignments
Exercises
Lecture Schedule
Labs
Style Guide
Current Grades

Overview

CS 14 builds on the basic tools provided in the CS 10-12 sequence by introducing mature programming concepts: abstraction, reusability, efficiency, ADTs, Big-O notation, just to name a few. CS 14 builds heavily on basic C++ skills to allow for more advanced software development.

Catalog description: CS 14. Introduction to Data Structures and Algorithms. (4) Lecture, three hours; laboratory, three hours. Prerequisite(s): CS 12 with a grade of "C-" or better; MATH 009A or MATH 09HA; proficiency in C++. Topics include basic data structures such as arrays, lists, stacks, and queues; dictionaries including binary search trees and hashing; priority queues (heaps); introductory analysis of algorithms; sorting algorithms; and object-oriented programming including abstract data types, inheritance, and polymorphism. Also covers solving complex problems through structured software development.

Note: Students receiving less than a C- in the CS 12 prerequisite will be dropped automatically during the quarter.

Basic Information

Instructor:
Titus Winters (titus@cs.ucr.edu)
Monday - Wednesday, 1pm-2pm, Surge 281 (Location may change)

Teaching Assistant:
Shaohui "Steve" Chen (schen@cs.ucr.edu)

Lecture:
MTWTh, 5:30-7pm, 2355 Sproul Hall

Lab:
Lab attendance is required. Attendance will be taken at the beginning and end of every lab section, and points awarded accordingly. During lab sections, you are expected to be working on material related to this course.

Time & Place: T Th, 2-5pm, 172 Surge Building

Books:
Required: Data Abstraction And Problem Solving With C++: Walls and Mirrors, Frank M. Carrano and Janet J. Prichard, 3rd ed., 2002 Addison-Wesley.

Please consult the errata pages for the book because there are always errors and typos in every book, which can make you waste a great deal of time. The errata pages are typically accessible from the book's web site.

Final Exam:
Friday, July 25, 3:30-5:30pm

Course Grading:
Letter grades will be assigned roughly according to the standard 90/80/70/60 scale out of 100 percentage points overall, with a 90 corresponding to an A, 80 to a B, and so on. +/- grades will be given out as appropriate. The course is divided into two individual components:

Assignments


Lecture Examples


Lecture Schedule

Subject to change as the quarter progresses I will announce at the end of each lecture the reading assignment for the following day. Doing the reading greatly benefit your ability to follow along in lecture, which will directly correlate with a higher grade in the course.


Labs

Quizzes & Tests

Policies (Please read these carefully)


Course email list

CS 14 mailing list (send mail now or access the archive): Be sure to sign up to receive important announcements, which will be made only through the course email list. You must use your CS or EE account, or else some other UCR account, so be sure to learn how to read those accounts or at least automatically forward messages to your personal email address (just create in your home directory a file named ".forward" containing your personal email address).