University of California at Berkeley
Dept. of Electrical Engineering & Computer Science
Applications of Algorithms
Spring Semester 2011
Lectures: 330 Soda Hall, Wednesday 6-8pm (A second section on Monday can be opened up if there is demand) .
CCN: CS 198 - 26658.
Grading and Units: P/NP, 2 Units
Email: swap25 AT berkeley
Email: vbawa AT berkeley
Email: satishr AT cs DOT berkeley
- Phone: (510)642-1559
Attendance: Attendance is mandatory, and in accordance with decal course guidelines, only 2 unexcused absences are allowed.
Back to top
Course description: This is a lab based course that accompanies CS 170. While CS 170 explores the concepts and basic techniques in the design and analysis of algorithms, this course provides practical experience related to each concept. The class will closely follow the course material taught in CS 170, and will be a 2 hour lab session. The first hour will be a discussion of the week's topics in relation to practical considerations during implementation, as well as application of the algorithms to different real life problems.The remainder of the class will be devoted to implementing algorithms taught in 170 in C++ and applying them to problems of varying difficulty, which will also form part of the HW. There will be Four main things covered in class - Applications, Implementation, Use of Existing Libraries and Performance Optimization. The latter two will be covered a little in HW, but will be the focus of class projects. We will also cover the use of clusters with Mapreduce and Hadoop. Lastly, there will also be a final project where the students can choose any algorithm-related project of their choice.
Prerequisites: CS 170 or Concurrent enrollment in CS 170; Programming experience at the level
of CS 61B
Assignments: Each week an assignment will be released(on the Friday before the class, after the CS 170 HW is due). A Forum will be set up to solve the interview questions. For the programming questions, the grading will be done online as follows: for each problem there will be a Small and a Large Input set. For each input set, on downloading a timer will start. You must run your program on the input set and submit the output and the program used before the time expires. You can use as many tries as you want. These problems can be done in class as well.
Project: The last two homeworks will be a group project, details to follow. For the project, there will be multiple input sets, and the outputs for all of them will be evaluated.
Programming Languages: Any programming language for which the compiler/interpreter is freely available can be used for the programming assignments. However, we will be focusing primarily on C++ as our main language (e.g. we'll often mention C++ libraries relevant to the topic being discussed).
Back to top
Updates and Announcements
Back to top
- (2/2): Due to delay in setting up submit, the deadline for submitting HW 1 has been pushed back to Saturday 02/05 11:59pm
- (1/26): All interested/enrolled students please enter your information here
- (1/25): Website has been setup, and the room has been set. The first class will be January 26 at 6pm.
- Mar 30
- Mar 9
- Feb 23
- Feb 16
- Feb 9
- Feb 2
- Jan 26