Course Description: An introduction to the fundamental concepts and abstractions of computer science, using a study of algorithms and computer programming as a vehicle. Topics include: the design, implementation, and application of algorithms; the uses of abstraction; the modeling and representation of values and entities; control flow and modularity. A high-level programming language is introduced and used. Fall, Spring (Group II) (Quantitative)
Course Delivery:
Course Description: An introduction to the fundamental concepts and abstractions of computer science, using a study of algorithms and computer programming as a vehicle. Topics include: the design, implementation, and application of algorithms; the uses of abstraction; the modeling and representation of values and entities; control flow and modularity. A high-level programming language is introduced and used. Fall, Spring (Group II) (Quantitative)
Course Delivery: Fully Remote
Course Description: The organization and inner-workings of computer systems are covered in some detail, with an emphasis on the relationships among the various levels of hardware and software found in such systems. Attention is focused both on general concepts and on case studies of specific systems. Assembly language programming is introduced. Prerequisites: CS 110 and CS 210 or consent of instructor. Fall (Group II)
Course Delivery:
Course Description: An introduction to issues surrounding machine intelligence. General topics include knowledge representation, searching, reasoning, learning, and planning. Specific problems drawn from areas including computer game playing, theorem proving, natural language processing, expert systems, and robotics will be addressed. Programming projects in LISP, Scheme, Prolog, or related languages are required. Prerequisites: 210, 270, MATH 250.
Course Delivery: Fully Remote