DOC PREVIEW
Berkeley COMPSCI 61B - Data Structures and Programming Methodology

This preview shows page 1-2 out of 7 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 7 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS 61B: Data Structures and Programming MethodologyInstructor: David Sun,360 Hearst Memorial Mining [email protected] to CS 61B Summer session. CS 61B is the second course in the CS 61 series offered atEECS, UC Berkeley. This course will exposed you to a range of programming techniques includingdata structures, interfaces, and algorithms for sorting and searching. Just as important, you willlearn to think about the correctness of the programs you write as well as the tradeoffs in timeand memory that arise from a variety of methods for structuring data. Finally, you will gain someappreciation for “software engineering” by designing and programming solutions for moderatelycomplex problems.The summer session runs for a total of 8 weeks, which is much shorter compared to a Spring orFall semester. During this time, you will complete three projects, two midterms, and a final. CS61B is a very demanding course even for a full length semester so expect there to be a lot of work.This overview contains information about textbooks, labs and discussions, grading, and variouspolicies that will be administered in this course. Please read it carefully.StaffThe instructor is David Sun, [email protected] teaching assistants are Ben Blum,Adam Kirk, and George Wang. There will also be lab assistants working with us during the labsections, and readers to grade your homework and projects. The instructor and teaching assistantswill hold weekly office hours. Please consult the course website for contact details and our officehours. If the listed office hours are not convenient, you may make an appointment with any of usby email.The course newsgroup at ucb.class.cs61b is a good place to ask general questions about theclass. The teaching stuff will monitor and respond to questions and concerns raised on the news-group. We will post announcements, clarifications, hints, and other information. It’s your respon-sibility to stay in touch with the information there.If you would like to ask questions privately (for instance, if the question exposes your solutionto a project or homework), you may send email to [email protected] emailwill be forwarded to all the TAs. Please prefix your email subject with the text “[CS 61B]” (e.g.1“[CS 61B] Midterm question”) to make it easier for us to pick out your message from the massesof emails that we receive each day.BooksThere are three required texts for the course, available at the campus bookstores:• Head First Java , second edition, by Kathy Sierra and Bert Bates (OReilly, 2005);• Pragmatic Unit Testing in Java with JUnit, by Andrew Hunt and David Thomas (The Prag-matic Bookshelf, 2004)• Objects, Abstraction, Data Structures and Design using Java 5.0, by Elliot B. Koffman andPaul A.T. Wolfgang (Wiley, 2005)Head First Java has been used in CS 61B for several semesters, so used copies should be readilyavailable. Objects, Abstraction, Data Structures and Design also comes in a Desktop Edition. For60% of the price of the hard-cover version, you can get a personalizable downloadable version.For more information, consult the textbooks Web site, http://he-cda.wiley.com/WileyCDA/HigherEdTitle/productCd-0471692646,courseCd-CX1500.html. There is no class reader.Class ActivitiesLecturesLectures meet on Monday, Tuesday, Wednesday, and Thursday from 11:00 am to 12:30 pm in 306Soda Hall. The lectures will not be webcasted for the summer session. Here is a tentative scheduleof topics to be covered, project due dates, and exams. All the dates are subject to change. It isyour responsibility to check the course websiteregularly for changes and updates:2Date Event Topics6/23 Introduction, flow-of-control6/24 Variables and objects6/25 Classes6/26 Arrays, JUnit6/30 Loops and invariants7/1 Lists7/2 Inheritance and polymorphism7/3 Interfaces and abstract classes7/7 Exceptions7/8 Java packages7/9 Midterm I7/10 Big-O7/14 Collections7/15 Project 1 due Stacks, queues, and trees7/16 Trees and searching7/17 Priority queues and heaps7/21 Binary and balanced search trees7/22 Binary and balanced search trees7/23 Sorting algorithms7/24 Project 2 Due Sorting Algorithms7/28 Maps and hashing7/29 More hashing7/30 Midterm II7/31 Generic programming8/4 Threads8/5 Game trees8/6 Graphs8/7 Graphs algorithms8/11 Project 3 due Dynamic programming8/12 Garbage collection8/13 Review8/14 FinalLabs and DiscussionEach week, you should attend two discussions and two lab sessions. Lab sections meet on Mondaysand Wednesdays, and the discussion sections meet on Tuesdays and Thursdays, all after the morninglectures. Because of the limited number of workstations, you will be allowed entrance to a lab sectiononly if Telebears lists you as enrolled. You may attend a section to which you are not enrolledonly with the permission of both the relevant TAs. You may attend any discussion section, thoughyou are encouraged to attend the section for which you are registered. If you cannot attend yourregistered discussion, try to at least be consistent in attending the same discussion – it will makeit easier for your TA to know who you are and to help you.Attendance to labs and discussion sections are not mandatory. However, we strongly encour-3age attendance – students who make effort to attend labs and discussions generally do better in theclass. The sections are your opportunity to ask your TA about concepts covered in class and clarifyhomework/project questions. Homework assignments are typically built on top of lab exercises, soit is in your best interest to attend and keep up with lab sections. The second and third project willbe done in partnership, so lab sections provide the opportunity for you to find potential partners.Computer AccountsAll the labs for CS 61B are scheduled to be held in 275 Soda. Outside of class, you can use anycomputer that is not being used by another scheduled lab. To access the CS 61B Course Portal,goto http://summer08.ucwise.org. You should use a recent version of the Firefox browser, witha plugin that supports Java 1.5. Neither earlier versions of Mozilla nor any version of InternetExplorer will work well. There are a variety of free Java programming environments available, e.g.JBuilder, DrJava, NetBeans, and Eclipse. We will use Eclipse in lab. You may download it foryour own computer from www.eclipse.org/downloads.You will get an account on the EECS instructional computers in your first lab section. If youmiss the


View Full Document

Berkeley COMPSCI 61B - Data Structures and Programming Methodology

Documents in this Course
Lab

Lab

4 pages

Matrix

Matrix

3 pages

Numbers

Numbers

14 pages

Lectures

Lectures

12 pages

Project 1

Project 1

24 pages

Exam

Exam

8 pages

Load more
Download Data Structures and Programming Methodology
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Data Structures and Programming Methodology and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Data Structures and Programming Methodology 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?