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.
Due to the sophisticated and challenging nature of the curriculum, students must pass an online aptitude test before being accepted into any eIMACS course. Register for the free eIMACS Aptitude Test.
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 should first have their child take the free eIMACS 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 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.