Computer Science Courses
The Modern Computer Science Track
The Magic of
Computer Science
Software is the nearest thing to magic that we've yet invented. It's pure 'thought stuff' — which means that it enables ingenious or gifted people to create wonderful things out of thin
air. All you need to change the world is imagination, programming ability and access to a cheap PC. You don't need capital or material resources or adult permission ...
That's why software is like magic: all you need is ability. And some children, for reasons that are totally and wonderfully mysterious, have an extraordinary aptitude for programming —
just as some have a musical, mathematical or artistic gift.
John Naughton, Professor of the Public Understanding of Technology at the Open University,
in The Observer.
Computer science courses at the top universities focus on applying abstract mathematical thinking to concrete computer algorithms. Rather than focusing narrowly on ideas that only apply to a specific environment, such courses develop computational thinking skills that can be applied to any programming situation. The Modern Computer Science track implements this approach while guiding students to fluency in four programming languages (Scheme, Haskell, Python and Java) by the time they are done. The track consists of three classes:
University Computer Science I, an introductory programming course that teaches the fundamental principles of computer science and covers topics such as boolean algebra, recursion, numeric algorithms, data structures, and object-oriented programming.
University Computer Science II, an advanced programming course that builds on UCS1 with topics such as ordering/sorting algorithms, infinite lists, list comprehension, function abstraction, and artificial intelligence. Coursework includes a small-scale database project and a significant object-oriented programming project.
AP® Computer Science, a comprehensive Java programming course leading to the Advanced Placement Computer Science A exam. This course is qualified through the College Board's rigorous AP® Course Audit process and exceeds the new lab requirement.
AP® Computer Science: Java Programming
A comprehensive online computer science course leading to the Advanced Placement Computer Science A exam. This self-contained course features an online Java compiler, interactive exercises and coding activities, extended lab assignments, and tests.
This course includes (a) eight labs that exceed the College Board's new requirement, and (b) an advanced tutorial on Android app development.
(Enrollment Note: Although UCS1 and UCS2 cover material of greater substance than AP® Computer Science, we recommend that students begin with UCS1. Students who proceed in this manner typically go on to find AP® Computer Science and the AP® Computer Science A exam much easier than their peers who have not.)
Be Prepared for the AP Computer Science Exam
An online, interactive edition of the popular Advanced Placement review written by Maria Litvin of Phillips Academy, Andover, Massachusetts. Includes over fifty interactive multiple-choice review questions accompanied by detailed explanations, and four timed practice tests that can really make a difference.