Middlebury

 

Sections

« Winter 2013 Spring 2013 Fall 2013 »

CSCI0101A-S13

CRN: 20033

The Computing Age

The Computing Age
In this course we will provide a broad introductory overview of the discipline of computer science, with no prerequisites or assumed prior knowledge of computers or programming. A significant component of the course is an introduction to algorithmic concepts and to programming using Python; programming assignments will explore algorithmic strategies such as selection, iteration, divide-and-conquer, and recursion, as well as introducing the Python programming language. Additional topics will include: the structure and organization of computers, the Internet and World Wide Web, abstraction as a means of managing complexity, social and ethical computing issues, and the question "What is computation?" 3 hr. lect./lab

CSCI0101B-S13

CRN: 21538

The Computing Age

The Computing Age
In this course we will provide a broad introductory overview of the discipline of computer science, with no prerequisites or assumed prior knowledge of computers or programming. A significant component of the course is an introduction to algorithmic concepts and to programming using Python; programming assignments will explore algorithmic strategies such as selection, iteration, divide-and-conquer, and recursion, as well as introducing the Python programming language. Additional topics will include: the structure and organization of computers, the Internet and World Wide Web, abstraction as a means of managing complexity, social and ethical computing issues, and the question "What is computation?" 3 hr. lect./lab

CSCI0190A-S13

CRN: 22003

Computer Models & Simulation

Computer Models and Multi-Agent Simulation
In this course we will explore agent-based computer models and simulations as a means of studying phenomena from both biological and social sciences. Agent-based simulation will then be used as a basis for introducing individual-based modeling and complex adaptive systems. A significant amount of time will be spent teaching the NetLogo programming language as a software tool for developing simulations. We will also introduce some of the important topics in the discipline of computer science, including algorithmic reasoning and data abstraction. No prior experience in programming is assumed. This course counts as an environmental studies lab science cognate. 3 hrs. lect./lab

CSCI0190B-S13

CRN: 22470

Computer Models & Simulation

Computer Models and Multi-Agent Simulation
In this course we will explore agent-based computer models and simulations as a means of studying phenomena from both biological and social sciences. Agent-based simulation will then be used as a basis for introducing individual-based modeling and complex adaptive systems. A significant amount of time will be spent teaching the NetLogo programming language as a software tool for developing simulations. We will also introduce some of the important topics in the discipline of computer science, including algorithmic reasoning and data abstraction. No prior experience in programming is assumed. This course counts as an environmental studies lab science cognate. 3 hrs. lect./lab

CSCI0200A-S13

CRN: 21573

Math Foundations of Computing

Mathematical Foundations of Computing
In this course we will provide an introduction to the mathematical foundations of computer science, with an emphasis on formal reasoning. Topics will include propositional and predicate logic, sets, functions, and relations; basic number theory; mathematical induction and other proof methods; combinatorics, probability, and recurrence relations; graph theory; and models of computation. (One CSCI course at the 0100-level previously or concurrently; formerly CSCI 0102) 3 hrs. lect./lab

CSCI0201A-S13

CRN: 20069

Data Structures

Data Structures
In this course we will study the ideas and structures helpful in designing algorithms and writing programs for solving large, complex problems. The Java programming language and object-oriented paradigm are introduced in the context of important abstract data types (ADTs) such as stacks, queues, trees, and graphs. We will study efficient implementations of these ADTs, and learn classic algorithms to manipulate these structures for tasks such as sorting and searching. Prior programming experience is expected, but prior familiarity with the Java programming language is not assumed. (One CSCI course at the 0100-level) 3 hrs. lect./lab

CSCI0302A-S13

CRN: 20471

Algorithms and Complexity

Algorithms and Complexity
This course focuses on the development of correct and efficient algorithmic solutions to computational problems, and on the underlying data structures to support these algorithms. Topics include computational complexity, analysis of algorithms, proof of algorithm correctness, advanced data structures such as balanced search trees, and also important algorithmic techniques including greedy and dynamic programming. The course complements the treatment of NP-completeness in CSCI 0301. (CSCI 0200 and CSCI 0201) 3 hrs. lect./disc.

CSCI0311A-S13

CRN: 22004

Artificial Intelligence

Artificial Intelligence
Artificial Intelligence (AI) is the study of computational systems that exhibit rational behavior. Applications include strategic game playing, medical diagnosis, speech and handwriting recognition, Internet search, and robotics. Course topics include intelligent agent architectures, search, knowledge representation, logical reasoning, planning, reasoning under uncertainty, machine learning, and perception and action. (CSCI 0200 and CSCI 0201) 3 hrs. lect./lab

CSCI0453A-S13

CRN: 22005

Computer Vision

Computer Vision
The goal of computer vision is to extract information from digital images and movies. Topics covered in this course include algorithms for edge and motion detection, stereo vision, object recognition, and recovering structure from motion. A range of mathematical techniques will be used to model problems and algorithms. Students will implement, test, and evaluate several computer vision techniques, and will gain experience with analyzing real, noise-contaminated image data. (CSCI 0202 and MATH 0200) 3 hrs. lect./lab

CSCI0500A-S13

CRN: 20365

Advanced Study

Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.

CSCI0500B-S13

CRN: 20640

Advanced Study

Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.

CSCI0500C-S13

CRN: 20702

Advanced Study

Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.

CSCI0500D-S13

CRN: 20703

Advanced Study

Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.

CSCI0500E-S13

CRN: 20704

Advanced Study

Advanced Study
Individual study for qualified students in more advanced topics in computer science theory, systems, or application areas. Particularly suited for students who enter with advanced standing. (Approval required) 3 hrs. lect.

CSCI0702A-S13

CRN: 20698

Senior Seminar

Senior Seminar
Each student will complete a major capstone project in this course. This project can take the form of either (1) a thesis on a topic chosen with the advice of a faculty member, or (2) a group programming project approved by the computer science faculty. All students will present their work at the end of the semester. In addition, during the academic year, all seniors are expected to attend a series of lectures designed to introduce and integrate ideas of computer science not covered in other coursework. 3 hrs. lect./disc