CS 2500 Fundamentals of Computer Science 1 is an introduction to thinking about how to design a computer program. The course uses the text How to Design Programs by Matthias Felleisen (the College’s Trustee Professor), Robert Findler (NWU), Matthew Flatt (Utah), and Shriram Krishnamurthi (Brown). The programming language is Racket which is an enhanced version of the classic programming language Scheme. Racket has simple syntax and elegant powers of abstraction. Programming in Racket enables a clarity of thought that carries over to work in more messy languages.

Although CS 2500 may be taken with no prior knowledge of programming, it would certainly help if new students took a look at the first few chapters of the text and tested a few simple programs in Racket. This will put new students into the “right frame of mind”.

Even students with prior knowledge of programming will find Fundamentals of CS 1 to be an enlightening and challenging experience. Racket is a functional programming language that embraces recursive thinking. With its concise syntax and powerful intellectual constructs, Racket permits a programmer to create amazing programs with relatively few lines of code. Further, because Racket will be new to most freshmen, everyone will start on a level playing field.

CS 1800 Discrete Structures is an introduction to discrete mathematics with a focus on what is important for Computer Science. Since the ability to create correct programs depends on the ability to reason carefully about the structures and processes involved in software, this course is the foundation for future work in Computer & Information Science.

CS 1200 Computer/Information Science Overview 1 covers a variety of topics important to new students in the college. Some topics: time management and being successful in CCIS; choosing a degree program; a bit of LINUX; and introduction to co-op.

Transfer students take CS 1220 Computer/Information Science Co-op Preparation instead of CS 1200. This Fall semester course focuses on co-op. It provides for the transfer students the same material that new freshmen learn in CS 1210 Computer/Information Science Overview 2 in the Spring semester.

NUTerm: Rising freshmen have the opportunity to re-take classes and/or excel their academic progress by taking courses during the Summer 1 term.