A brief overview of CS015

The main introductory Computer Science course at Brown is CS015, an introduction to object orientated programming. It is a Java course aimed both at those with limited and those with no java and programming experience. CS017 is the equivalent course for those who have done a fair amount of programming before.

The lecturer for the course is Andy Van Dam who holds a highly esteemed position within both the Brown and the US Computer Science communities. More information about Andy is scattered across the net, but suffice to say he is a good lecturer.

For anyone who has googled their way to this post and is in the position of considering the course, I wholeheartedly encourage you to take it. This goes both for those who only have a cursory interest in CS and for those looking to major in it. It is a great self standing introduction to a programming language. It might also be worth noting that it is entirely possible to be a (perfectly good) Teaching Assistant for the course, having taken no other CS course. I do however suggest that you pass on buying the associated text book as the lecture notes are very well developed, and provide all the information necessary for each of the assignments.

We worked mostly in EclipseThe course’s timeload (for me) was pretty intense. I spent over 15 hours on the second last assignment (tetris), and probably closer to 20 on my final project. The average time was far lower though. Something else which one might consider a downside to the course is theĀ  collaboration policy. Do take a look at it.

The two main projects were Tetris (as mentioned) and a Final which could be one of four choices, ‘Adventure’, ‘Othello’, ‘Sketchy’ or an independent project of any sort which matched a set of difficulty and size criteria. I chose Adventure as a Final.

TetrisTetris involved coding the classic game pretty much from the ground up, but using some basic shape creating code worked on earlier in the year. The basic requirements for the project were to make the falling, rotating blocks and deleting lines. Possible extensions included game levels, scores, preview, blocks, 2 player mode and player vs. computer mode.

Adventure involved generating a 3d maze environment using a recursive algorithm named drunken walk and support code at least partially from as far back as 1996. The basic requirements were to make a navigable maze with enemies in it and giving the game a completable goal. It needed to have a first person and an overhead view pane. Extension options were pretty much ‘be creative’. The aspects of my game which probably counted towards extension points were introducing rotating items to the game and having the lighting flash red when my character touched a monster and lost health.

Adventure Into Screen Adventure Gameplay Adventure Win

Some other things that should be noted about the course are as follows. The grades are not curved. Apparently the majority of the people who complete the course get As. However some drop out as late as the final project. The lectures also have a very unique atmosphere. Skits are often put on and fully thematic lecture was held for Halloween.

Anyway, in conclusion, all in all it was an enjoyable course and I would recommend it to any Brown student with an interest in computer science. I would also love to know how it compares with introductory computer science courses at other Universities, if you happen to be in a position to share your experience.

One thought on “A brief overview of CS015

  1. Pingback: CS015 Website Redesign | Blogg

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>