Courses
Computer Science
Classes
Introduction to Computer Science - Fall
This course provides an introduction to computer organization and programming. The course takes a bottom-up approach to computer organization starting with the fundamental of binary systems and the key insights of digital logic that make efficient computing systems possible. After a review of basic data representation, we will learn about the essential components of all computers, such as processors, memory, input/output devices, and how all these work together. The remaining part of the course is devoted to learning programming using at least two different programming styles. The course ends with an individual project. (No prior programming experience is expected or required.)
Robotics - Spring
This course will provide the student with an appreciation of the fundamental design issues of robotics and also provide hands-on experience with building robots. The history of robotics as well as student driven discussions on the future of the field will be an integral part of this course. Artificial Intelligence and its relation to robotics will also be studied. The hands-on part of this course will vary each year and depend on the projects for that year. Student teams will construct robots with the ability to perform non-trivial independent or collaborative tasks. The choice of hardware will depend on the chosen projects. (Prerequisite: Introduction to Computer Science)
Developing Integrated Web Applications - Fall
The goal of this course is to equip students with skills to develop dynamic websites and to appreciate the process of integrating a range of building-block technologies. The course begins with an introduction to the fundamentals of computer networking followed by the basics of relational databases with an emphasis on normalization. They will learn to configure a network, administer a database and construct queries. The remaining part of the course will be devoted to web technologies. Each student will develop a substantial database driven web application that will be hosted by the department and will be available while they are at St. Marks. (Prerequisite: Introduction to Computer Science)
Models of Computation - Spring
This purpose of this course is for students to be able to differentiate between computation and computers. This course will expose student to some analog “unconventional computing” models. The study of the history of computing and the attempts at creating computational devices before the advent of the modern computer will form an integral part of this course. The course will also include a study of traditional models of universal computers and will investigate how extremely simple programs such as one-dimensional cellular automata are computationally equivalent to traditional computers. The course will end with each student doing a project demonstrating the computational abilities of either a simple program or of an unconventional computer. (Prerequisite: Introduction to Computer Science; Recommended: Developing Integrated Web Applications, Robotics)