Next: Course-Number Changes Up: St. Olaf Computer Science Previous: Requirements for the

Courses

Note: Course numbers here refer to the 1994/95 St. Olaf College Catalog.

172
Principles of Computer Science, I
Basic concepts of computer science, introduced using an interactive functional style of programming (Scheme language). Problem solving and algorithm development, data abstraction, programming style and documentation, elementary algorithm analysis, searching and sorting, loop invariants. Emphasis on the use of recursion and abstraction.

Physics 232
Introduction to Digital Electronics and Microcomputers
Digital logic, digital electronics, and their applications in microcomputers. Includes assembly-language programming and the basics of computer interfacing. Weekly laboratory exercises are an integral part of the course. Recommended for students in the natural sciences who expect to use computer instrumentation in their careers. Prerequisite: high-school physics and elementary programming experience.

Physics 251
Computer Interfacing
A cross-disciplinary aspect of computing, emphasizing communication between the computer and the outside world. Both software (programming) and hardware (electronic) principles are developed, though the emphasis is on the latter. Exercises give general experience with data collection and processing, computer control of apparatus, graphics, and electronic generation of sound. Students use a microcomputer to design, construct, and implement a project from an area of their special interest. Prerequisite: Physics 232, or permission of the instructor. Offered only in the January Interim.

272
Principles of Computer Science, II
Introduction to software design and development, and application of principles from Computer Science 172 in an imperative object-oriented programming language, e.g., C++. Software design concepts, including the software lifecycle and modularization; elementary analysis of algorithms; introduction and analysis of common data structures; survey of contemporary software systems; computing ethics. Prerequisite: Computer Science 172.

274
Computer Organization
An introduction ot the low-level operation of computers for students having high-level programming experience. Introduction to digital logic, machine organization, operating system interface, low-level structure of software systems, computer networks, comparison of computer architectures. Laboratory experiences with hardware and assembly language programming. Prerequisite: Computer Science 172 or permission of the instructor.

294
Internship
Intermediate-level version of Computer Science 394.

298
Independent Study
372
Data Structures
Arrays, stacks, queues, linked lists, trees, graphs, etc.; algorithms used to form and manipulate data structures. Computer implementation of various structures, storage allocation, sorting, searching; applications. Prerequisite: Computer Science 272 or permission of the instructor.

376
Programming Languages
Design and implementation principles of high-level programming languages. Comparison of languages and language paradigms, syntactic structures (grammars), semantic structures, run-time representations, interpreters for implementing languages. Prerequisites: Computer Science 272 and 274, or permission of the instructor.

378
Seminar in Computer Science
Recent topics have been computer graphics, principles of operating systems, artificial intelligence, logic programming, compiler design. Prerequisites: Computer Science 272 and additional prerequisites depending on the topic, or permission of instructor.

394
Internship
Projects have included implementation of solid modeling (NURBS), documentation, automated theorem proving, team programming, and multiprocessor tools.

398
Independent Research
Recent projects have been in the areas of graphics interface programming, real-time computing, logic programming and intelligent tutoring systems, relational data bases, computer networks, and operating systems.



Next: Course-Number Changes Up: St. Olaf Computer Science Previous: Requirements for the


Disclaimer

rab@acc.stolaf.edu
Wed Feb 2 16:19:28 CST 1994