Frank Swenton
Theory of Computation
CSCI 0301Theory 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.
1 reviewS25OOP & GUI Application Dev
CSCI 0318Object-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./disc.
2 reviewsF24Theory of Computation
CSCI 0301Theory 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.
6 reviewsS23Math Foundations of Computing
CSCI 0200Mathematical 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)
5 reviewsF22Theory of Computation
CSCI 0301Theory 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.
5 reviewsF22Math Foundations of Computing
CSCI 0200Mathematical 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)
0 reviewsS22OOP & GUI Application Dev
CSCI 0318Object-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./disc.
0 reviewsF21Linear Algebra
MATH 0200Linear 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.
4 reviewsF21Math Foundations of Computing
CSCI 0200Mathematical 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)
1 reviewS21OOP & GUI Application Dev
CSCI 0318Object-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./disc.
0 reviewsS21Abstract course, feels like an elaborate thought experiment, but if you invest enough attention it can become interesting on a conceptual level. None of the content is difficult, but you just have to be able to visualize it. Homework is optional but recommended to understand what is happening during the lectures.
I began to think of this class as an optional lecture series instead of a class. Frank was very accommodating and reached out to us at the beginning of each week to gauge what we wanted to cover more in class, then shaped his lectures around it. The class was pretty project based - he would introduce a few topics then we would have a relevant project. Often, we would do live coding in class to begin the project, and he would give us pointers of where to go from there. He often pushed deadlines later if we requested
I began to think of this class as an optional lecture series instead of a class. Frank was very accommodating and reached out to us at the beginning of each week to gauge what we wanted to cover more in class, then shaped his lectures around it. The class was pretty project based - he would introduce a few topics then we would have a …Read more
The emphasis of this class was largely on project based assignments with a final group project. I think the professor had a hard time estimating the difficulty/time taken to complete certain assignments