cs19: introduction to algorithms and data structures
Home Assignments Course Docs FAQ Schedule Staff

Welcome to cs19

News

Oct. 7, 2008

Solutions for Homework 4 (PDF) are available online now.

Oct. 2, 2008

The next assignment, Numble, is available online now. Please remember to sign up for your design check here EVEN IF YOU DID SO DURING CLASS, sorry for the inconvenience, but we cannot add people to the online list ourselves. You should use your Brown ID and password to sign up, not your CS department login. Lastly, csiden will be holding extra hours tommorrow from 8-10PM in the Moonlab. While this is meant to help people with last minute problems about Maze or questions about the design check, please remember that hours will end promptly at 10 PM and any project turned in after this time is considered late.

Sept. 18, 2008

The next assignment, Maze, is available online now. A copy of today's handout is also available here. Homework for Tuesday is exercise 2.3-5.

Sept. 17, 2008 - IMPORTANT UPDATE TO DOTS AND BOXES

It has been brought to our attention that we have been telling some students they are required to create a computer "AI" capable of playing against a human player, however, this AI is not mentioned in the handout. To clarify: your project is required to consist of a human player playing against the computer (if you would like to include the option to allow two humans to compete via a command line option this can earn you extra credit). Your "AI" may be limited to making random moves, anything beyond this will earn you extra credit. We are sorry for any inconvenience this may cause you, we have extended the deadline to Monday at 10pm. This will be announced tommorrow in class as well.

Sept. 12, 2008 - Dots and Boxes Clarifications

To create a new board you must create a new instance of DotBoxesGame.Factory (this is an internal class of the DotBoxesGame interface) then call this object's create(int x, int y) method, the x and y values are the height and width of your board in squares. As soon as the call to create is made the gui will appear. From this point on you can interact with the game through the methods of the DotBoxesGame and DotMove interfaces.

Boxes are described by x,y coordinates with the top left most box being 0,0.

Lines are described as 2 ordered pairs, each representing a dot on the board (dots occur at the corners squares) the top left most dot is 0,0. You can give the start and end locations of a line in any order (i.e. one does not need to have higher valued coordinates than the other).

All functionality not described by the interfaces is hidden from you on purpose because you are expected to create your own data structures to remember the game state. Think of the support code as super dumb code that knows nothing about the rules of the game and will just draw any lines or characters you tell it too. Note that this means you may not get error messages for telling it to draw off the board or between two points which it can't draw between.

Sept. 11, 2008

Homework from 9/9 was due at 9am today. Solutions are now available. Please see a TA if you have any questions.

Sept. 9, 2008

Homework from lecture today is problems 10.1-2 and 10.2-6 in the Algorithms (green cover) text. Write your solutions down on paper and hand them in at lecuture on Thursday or e-mail your solutions to cs019tas@cs.brown.edu before lecture on Thursday. Write your CS login at the top of the page or e-mail message.

In accordance with the course collaboration policy, do all homework on your own without any help from others (unless we explicitly say you can work in groups). If you need assistance, see a TA during hours.

Lab times have been updated. Nobody was moved, but new people have been added. People who have dropped the course on Banner will be removed at the end of shopping period.

Ben Herila's office hours on Monday have been permanently moved to CIT 271. The time remains the same.

The First Lab is on 9/15. It explains how to use Eclipse. The first project is due on 9/19, so we recommend you do the lab before the scheduled lab period and bring any questions you have to office hours. Be sure to show your solutions to a TA in order to receive credit, either at office hours or at your scheduled lab time.

Dots and Boxes, the first project, is out and is due on Friday, 9/19 at 10pm (when the Sun Lab officially closes). Run "cs019_install dotbox" to get the stencil code.

If cs019_install doesn't work, you don't have the cs19 group or your "path" is messed up. Run /course/cs019/bin/cs019_install instead (the full path). E-mail cs019htas@cs.brown.edu to get the group added.

If you need help using Linux or Eclipse, come to TA office hours. If you can't make office hours due to a scheduling conflict, e-mail cs019tas@cs.brown.edu and we'll work something out.

Have a great afternoon!

Sept. 6, 2008 (updated Sept. 7)

Yesterday was the first of our two orientation lab sessions. Since many people did not come we would like to remind you that you need to come so that you can get your department login and set up remote access if you want to. If you did not come yesterday it is important that you come on Monday from 7 to 8 PM to get your login so that you can get started on your first project which is due in two weeks. If you cannot make this time please come to TA office hours to receive your login.

In order to aid with your initial login we have prepared a quick Lab #0. It will not be graded, but it describes what to do when you initially log in to your account.

Also, labs do not officially start until the week of Sept. 14, however since your first project is due that week we thought it might be beneficial to release Lab #1 ahead of time because it teaches you how to use the Eclipse IDE. If you start early and have problems with the lab remember that you can come to TA office hours.

Lab times have also been decided for everyone who turned in their collaboration policy. Please remember that labs start the week of the 14th. Labs are held in the i-lab (CIT 316) on the third floor, and all labs start at 4:30 PM. Don't be late! The elevators and stairwells lock at 5 PM and if you arrive too late you won't be able to get upstairs. See or e-mail a TA if you have conflicts.

Remember if nobody is on hours you can always email cs019tas@cs.brown.edu with questions. Please don't hunt down TAs if they're not on hours.

Sept. 4, 2008

Welcome to cs19! We hope you enjoyed the first lecture. Many documents have been posted online to make your lives easier. Look above at the new sections to find more information on this course.

If you are still shopping and haven't yet visited, we encourage you to come!

The first assignment is out, and is due on 9/19 at 10pm. If you have any questions, please see a TA during hours or e-mail cs019tas@cs.brown.edu at any time.

From the Course Missive

Purpose
The purpose of this course is to provide an introduction to the algorithms and data structures needed to write efficient and effective programs while providing the students with instruction into and experience with the techniques and methodologies involved in writing practical programs. The course will teach how to design, organize, structure, and implement programs of from one to ten thousand lines of code. This course is an intense one-semester version of CSCI0150 and CSCI0160. It is designed for students who have some programming background, but not all that is taught in 15. The material taught covers a significant number of algorithms and data structures as well as advanced programming techniques using Java.

Prerequisite
The prerequisite for this course is either CSCI0040, 4 or 5 on the Computer Science AP test, or permission of the instructor.

 
 

designed and coded by bherila except as noted on FAQ page | valid XHTML 1.0 strict