16.01.2015 Views

CS2013-final-report

CS2013-final-report

CS2013-final-report

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CSCI 0190: Accelerated Introduction to Computer Science, Brown<br />

University<br />

Providence, RI, USA<br />

Shriram Krishnamurthi<br />

sk@cs.brown.edu<br />

http://www.cs.brown.edu/courses/csci0190/<br />

Knowledge Areas that contain topics and learning outcomes covered in the course<br />

Knowledge Area<br />

Programming Languages (PL) 13<br />

Software Development Fundamentals (SDF) 10<br />

Software Engineering (SE) 6<br />

Algorithms and Complexity (AL) 5<br />

Parallel and Distributed Computing (PD) 1<br />

Total Hours of Coverage<br />

Where does the course fit in your curriculum<br />

Brown has three introductory computing sequences as routes into the curriculum. The other two are spread over a<br />

whole year, and cover roughly a semester of content in programming and a semester of algorithms and data<br />

structures. This course, which is one of these, compresses most of this material into a single semester.<br />

Students elect into this course, either through high school achievement or performance in the early part of one of<br />

the other sequences.<br />

Approximately 30 students it every year, compared to 300-400 in the other two sequences.<br />

What is covered in the course<br />

The course is a compressed introduction into programming along with basic algorithms and data structures. It<br />

interleaves these two. The data structures cover lists, trees, queues, heaps, DAGs, and graphs; the algorithms go up<br />

through classic ones such as graph shortest paths and minimum spanning trees. The programming is done entirely<br />

with pure functions. It begins with graphical animations (such as simple video games), then higher-order<br />

functional programming, and encodings of laziness.<br />

What is the format of the course<br />

Classroom time is a combination of lecture and discussion. We learn by exploration of mistakes.<br />

How are students assessed<br />

There are about ten programming assignments. Students spend over 10 and up to 20 hours per week on the course.<br />

Course textbooks and materials<br />

There is no textbook. Students are given notes and code from class.<br />

All programming is done in variations of the Racket programming language using the DrRacket programming<br />

environment.<br />

- 447 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!