Courses
Computer Science
Classes
Introduction to Computer Science - Fall
This course provides an introduction to computer programming and organization. The course begins with using the SCRATCH programming environment to introduce students to the concepts of computer programming. Every student completes an individual project that is then exported to the SCRATCH site. After SCRATCH students learn the Python programming language using the Eclipse IDE. While learning Python, concepts of binary number systems, data representation and some computer architecture concepts are introduced. The course ends with each student programming a graphical competitive game where one human playing against the computer. In the past students, have programmed games such as Tic-Tac-Toe and Connect-4. (No prior programming experience is expected or required)
Robotics I - Spring
Students will learn robotic algorithms, CAD and programming the VEX control system. They will be introduced to autonomous robot algorithms such as the subsumption algorithm. CAD software will be used to design and analyze common robotic structural elements such as drivetrains, gears, chains and sprockets. Although students will be encouraged to collaborate, every student will also work on their own VEX powered robot. These robots will then compete with other robots at internal or small regional competitions such as the VEX competition sponsored by WPI. (Prerequisite: Introduction to Computer Science or permission of instructor)
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. Students 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)
Robotics II - Spring
This course builds on Robotics I and the entire class will build a robot for the FIRST Robotics Competition as a team. Students will learn the LabVIEW programming framework and architecture of the National Instruments cRIO. Students will use their proficiency in CAD to design and evaluate robotic designs. After the competition students will, as a team, analyze the performance of algorithms and strategies used and then make experimental changes to the actual robot or to their CAD design. This is a very hands-on course and students should expect to operate in an engineering design team atmosphere. (Prerequisite: Robotics I or permission of instructor)
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)