Frank Swenton
Professor of Computer Science

- Office
- 75 Shannon 208
- Tel
- (802) 443-3421
- fswenton@middlebury.edu
- Office Hours
- Tuesday 9:30-11:00 and by appointment
Courses Taught
CSCI 0200
Math Foundations of Computing
Course Description
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. (CSCI 0145 or CSCI 0146 or CSCI 0150) (Juniors and Seniors by waiver) 3 hrs. lect./lab
Terms Taught
Requirements
CSCI 0301
Current
Theory of Computation
Course Description
Theory of Computation
This course explores the nature of computation and what it means to compute. We study important models of computation (finite automata, push-down automata, and Turing machines) and investigate their fundamental computational power. We examine various problems and try to determine the computational power needed to solve them. Topics include deterministic versus non-deterministic computation, and a theoretical basis for the study of NP-completeness. (CSCI 0200 and CSCI 0201) 3 hrs. lect./disc.
Terms Taught
Requirements
CSCI 0318
OOP & GUI Application Dev
Course Description
Object-Oriented Programming and GUI Application Development
In this coding-intensive course students will deepen their understanding of data structures, algorithms, and object-oriented programming concepts through development of GUI (Graphical User Interface) applications. After a brief introduction to C++ and our development environment, Qt, we will immerse ourselves in them through work on an array of application development projects. Along the way, we will be introduced to a number of software development principles and build an understanding of fundamental object-oriented concepts in C++, including classes and inheritance, templates, pointers, constructors/destructors, and ownership. (CSCI 0202 or by waiver) 3 hrs lect./lab.
Terms Taught
Requirements
CSCI 0500
Upcoming
Advanced Study
Course Description
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.
Terms Taught
CSCI 0702
Upcoming
Senior Thesis
Course Description
Senior Thesis
The senior thesis is recommended for students interested in pursuing graduate study in Computer Science. Students will spend the semester researching and writing, and developing and experimenting as appropriate for their topic. All students will be expected to report on their work in the form of a written thesis, a poster, and an oral presentation at the end of the semester. In addition, throughout the semester, students will meet as a group to discuss research and writing, and will be expected to attend talks in the Computer Science lecture series. Before approval to join the class is granted, students are expected to have chosen a thesis adviser from the CSCI faculty, and determined a thesis topic with the guidance and approval of that adviser. (Approval required) 3 hrs. lect./disc.
Terms Taught
INTD 0500
Upcoming
Independent Study
Course Description
Independent Study
Approval Required
Terms Taught
MATH 0200
Linear Algebra
Course Description
Linear Algebra
Matrices and systems of linear equations, the Euclidean space of three dimensions and other real vector spaces, independence and dimensions, scalar products and orthogonality, linear transformations and matrix representations, eigenvalues and similarity, determinants, the inverse of a matrix and Cramer's rule. (MATH 0121 or equivalent) 3 hrs. lect./disc.
Terms Taught
Requirements
MATH 0500
Advanced Study
Course Description
Advanced Study
Individual study for qualified students in more advanced topics in algebra, number theory, real or complex analysis, topology. Particularly suited for those who enter with advanced standing. (Approval required) 3 hrs. lect./disc.
Terms Taught