IMACS Online Courses

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 first course in the sequence, has benefited individuals from talented secondary school students with no programming experience to advanced students who can code to working professionals seeking 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.

IMACS is dedicated to providing talented students with an ability-matched education. Parents of prospective students with significant computer programming experience may wonder if UCS1 will be sufficiently challenging. Such parents are strongly encouraged to first have their child take the free IMACS Aptitude Test and then speak with a senior IMACS instructor to help determine an appropriate course of action.

Explore sample pages from University Computer Science I.

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.


view the F.A.Q.
find out about the Aptitude Test