The material on this page is from the 2003-04 catalog and may be out of date. Please check the current year's catalog for current information.

Mathematics and Computer Science: Courses in Computer Science 

[Mathematics]

Courses

COMP 101. Computer Science I. An introduction to computer science, with the major emphasis on the design, development, and testing of computer software. It introduces the student to a disciplined approach to algorithmic problem-solving in a modern programming environment using an object-based event-driven programming language. Students develop programs in Visual BASIC to run under the Windows operating system. The course has an associated laboratory that provides hands-on experience. Students complete a substantial individual or group project. Normally offered every year. S. Ross.

COMP 102. Computer Science II. A continuation of Computer Science I. The major emphasis of the course is on advanced program design concepts and techniques, and their application to the development of high-quality software. Specific topics covered include the software development cycle, abstract datatypes, files, recursion, and object-oriented programming. Computer Science 101 and 102 provide a foundation for further study in computer science. Prerequisite(s): Computer Science 101. Enrollment limited to 25. Normally offered every year. S. Ross.

COMP 301. Algorithms. The course covers specific algorithms (e.g., searching, sorting, merging, numeric, and network algorithms), related data structures, an introduction to complexity theory (O-notation, the classes P and NP, NP-complete problems, and intractable problems), and laboratory investigation of algorithm complexity and efficiency. Prerequisite(s) or corequisite(s): Computer Science 102, and Computer Science 205 or Mathematics s21. Normally offered every other year. D. Haines.

COMP 302. Theory of Computation. A course in the theoretical foundations of computer science. Topics include finite automata and regular languages, pushdown automata and context-free languages, Turing machines, computability and recursive functions, and complexity. Prerequisite(s): Computer Science 205 or Mathematics s21. Normally offered every other year. Staff.

COMP 303. Principles of Computer Organization. Computer and processor architecture and organization including topics such as operating systems, buses, memory organization, addressing modes, instruction sets, input/output, control, synchronization, interrupts, multiprocessing, and multitasking. The course may include training in digital logic, machine language programming, and assembly language programming. Prerequisite(s) or corequisite(s): Computer Science 102, and Computer Science 205 or Mathematics s21. Normally offered every other year. Staff.

COMP 304. Principles of Programming Languages. An introduction to the major concepts and paradigms of contemporary programming languages. Concepts covered include procedural abstraction, data abstraction, tail-recursion, binding and scope, assignment, and generic operators. Students write programs in SCHEME to illustrate the paradigms. Prerequisite(s): Computer Science 205 or Mathematics s21. Normally offered every other year. D. Haines.

COMP 360. Independent Study. Students, in consultation with a faculty advisor, individually design and plan a course of study or research not offered in the curriculum. Course work includes a reflective component, evaluation, and completion of an agreed-upon product. Sponsorship by a faculty member in the program/department, a course prospectus, and permission of the chair are required. Students may register for no more than one independent study per semester. Normally offered every year. Staff.

COMP 365. Special Topics. A seminar usually involving a major project. Recent topics have included the mathematics and algorithms of computer graphics, in which students designed and built a computer-graphics system, and contemporary programming languages and their implementations, in which students explored new languages, in some cases using the Internet to obtain languages such as Oberon, Python, Haskell, and Dylan. Written permission of the instructor is required. Staff.

Short Term Units

COMP s45. Seminar in Computer Science. The content varies. Recent topics include cryptography and data security, computers and contemporary society, and functional programming. Prerequisites vary with the topic covered. Offered with varying frequency.

COMP s45D. Advanced Visual Basic. This unit provides students the opportunity to further their programming skills in a modern object-based computer language, while investigating topics not usually covered in mainstream computer science courses. These topics include deployment of applications, Help-File creation, database programming, use of ActiveX controls, graphics routines, and Win32 API programming. Working in small teams, students create and present programs and compare results formally in a seminar setting. Enrollment limited to 12. Written permission of the instructor is required. Offered with varying frequency. S. Ross.

COMP s50. Independent Study. Students, in consultation with a faculty advisor, individually design and plan a course of study or research not offered in the curriculum. Course work includes a reflective component, evaluation, and completion of an agreed-upon product. Sponsorship by a faculty member in the program/department, a course prospectus, and permission of the chair are required. Students may register for no more than one independent study during a Short Term. Normally offered every year. Staff.

[Mathematics]



[home] [up] [reply] [help]

 

© 2003 Bates College.
All Rights Reserved.
Last Modified: 8/6/03 by Tins