University Computer Science
The IMACS University Computer Science sequence emphasizes computational thinking with two fully interactive, self-paced, online programming courses. Both courses are entirely Web-based and self-contained with instant feedback, supportive instructors, and automatic grading of all work. Each course covers the equivalent of three university semester hours.
University Computer Science I
University Computer Science I, the introductory course in the sequence, is suitable for individuals from talented middle and high school students with no programming experience to working adults who would benefit professionally from a deeper understanding of computing. UCS1 teaches the fundamental principles of computer science using Scheme, a programming language that has been used at many of the finest universities around the world. Scheme's expressive yet simple syntax enables students to focus on effectively learning advanced concepts that can be implemented easily in any programming language, from Python to Java to future languages not yet invented. UCS1 includes an online Scheme interpreter, interactive exercises, and Web-based exams.
University Computer Science II
University Computer Science II is suitable for students who have successfully completed UCS1. UCS2 utilizes the Scheme, Haskell and Python programming languages to teach more challenging topics including advanced recursion concepts, ordering/sorting algorithms, infinite lists, list comprehension, function abstraction, and higher order functions. Coursework includes a small-scale database project in Haskell that deals with bus routes and a significant object-oriented programming project in Python that involves artificial intelligence in a game-playing context. In addition to the online Scheme interpreter, students also have access to an online Haskell evaluator and an online Python interpreter.
Students who successfully complete UCS2 have a better understanding of computer science than most college freshmen who have taken their university's introductory CS course. Because of this, IMACS UCS2 graduates are better prepared to succeed in upper-level university courses.