An introduction to general methods of problem solving, structured algorithm design, object-oriented techniques, and elementary computer programming. An accelerated version of CS 100 for students with prior programming experience. Students successfully completing this course will receive one additional credit by examination.
Final project involves complete design and implementation of a miniscule instruction set processor.
Linear lists, strings, stacks, queues, trees, graphs, internal searching and sorting algorithms, space and time requirements, information hiding, data abstraction. Team software design and implementation. CS 233 Syntax and semantics of programming languages, grammars, parsing, data types, data control, sequence control, run-time storage management, binding times, functional languages, object oriented languages, special purpose languages, language design and evaluation. Emphasis on the mathematical and computer graphics foundations behind fractal images and the relationship between chaotic dynamics and fractal geometry. Self-similar fractals, random fractals with Brownian motion, and fractals generated from dynamical systems.