Lectures, Labs
|
Administrivia
InstructorProf. Marti Hearst (hearst@sims.berkeley.edu)212 South Hall, 510-642-8016 Office Hours: Wed 2-3; Thu 2-3 Teaching AssistantsJohn Fritch (jfritch@sims.berkeley.edu)Office Hours: Wed 2-3pm, downstairs lab
Kaichi Sung
(ksung@sims.berkeley.edu)
Leah Zagreus
(lzagreus@sims.berkeley.edu)
Location and TimeThe course meets Tues/Thursday from 9am-10:30am in 202 South Hall. The lab meets Wed from 12:30-2:00pm, sometimes in 202, and sometimes in the lab, room 210.Course GoalsThis course is an intensive introduction to programming principles and practice, to prepare students with a non-technical background to take the more technical SIMS courses. We will cover the fundamentals of how computers work, standard algorithms and their analysis (focusing on sorting and searching), fundamentals of data structures and how to choose among them (focusing on trees, graphs, and hash tables), and an introduction to formal languages, focusing on regular expressions and finite automata. We will also study and practice principles of object oriented design.Prerequisites: knowledge of the basics of Java programming. WorkloadI expect this course to require about 8-12 hours per week outside of class, the amount of time depending on the student's experience with programming and the other material.There will be readings each week; students are expected to do the readings before lecture. Each week there will also be a required lab session. Often the lab will consist of exercises to better learn the material from class; towards the end of the semester the labs will be used to work on a small programming project (called a mini-project). Students will select a project from among a few choices provided by the instructors. GradingThis course is offered on a Satisfactory/Unsatisfactory basis. To pass the course, students must complete all assignments and must attend all lectures and labs.I currently do not plan to have any exams; however, if people do not work hard on the assignments, I may introduce a midterm or a final exam. Students are required to do some assignments on their own, and are allowed to work in pairs for other assignments; details will be specified for each assignment. Required Textbooks
Order from Addison Wesley (they have it in stock, Amazon may be slower). (There is a new edition coming out, but it is not yet published.) Computer AccountsSee Roberta in 210 South HallTesting Out of the CourseThis course is required for all incoming SIMS masters students, unless they test out of the course or opt to take an instructor approved substitute course (such as CS61B).Anyone who has majored in computer science as an undergraduate or who has taken a significant number of computer science courses should test out of the class. An exam will be given to those who wish to test out of the course during the lab session on the first week of class (Wed Aug 28th, 12:30pm). The exam will cover object oriented programming in java, basics of analysis of algorithms, and basic knowledge of data structures. |