Discussion of
Benedict Brown
TTh 11:35-12:50
Development on the computer of programming skills, problem-solving
methods, and selected applications.
Note: if after a few weeks in CS 201, you feel you are in over your head, you are permitted to transfer to CS 112, even if it is after shopping period. In order to preserve this option, you must keep the TTh 11:35 time slot open. CS 112 will make it possible to catch up.
Stephen Slade
MWF 10:30-11:20pm
Information technology is ubiquitous. This course focuses on the real
world artifacts and implementations that comprise the vital
computational organisms that populate our world. Topics include
hardware (computer architecture), software (programming languages,
databases, networking), and related issues such as security, and
software engineering. Examples stress practical applications of
technology. Homework assignments will generally involve programming in
Python.
If you're thinking of taking CPSC 201, please do the following.
Perlis epigram 19: A language that doesn't affect the way you think about programming is not worth knowing.
The language we'll use this term, Racket, is an offshoot of Scheme, which is an offshoot of LISP, which was designed as a higher-level language for writing artificial intelligence programs. We choose Racket because it is high-level, functional (as opposed to imperative), emphasizes recursion, and is unfamiliar to almost all students taking CPSC 201. It is definitely not widely used in industry. One goal is for you to learn new tools and paradigms for programming, to "affect the way you think about programming." It will be frustrating at times -- no assignment statements, no obvious analogs of for and while statements -- but it will expand your view of what programming can be.
We conclude with a gentle demonstration of Scheme (Racket) in action: 0114.rkt in which we do the following:
(num-to-word 9) ==> "nine"