taught by Chris Umans
This course introduces the formal foundations of computer science, the fundamental limits of computation, and the limits of efficient computation. Topics will include automata and Turing machines, decidability and undecidability, reductions between computational problems, and the theory of NP-completeness.
HW: Wednesday @ 1pm in class
taught by Mike Vanier
This course gives students the conceptual background necessary to construct and analyze programs, which includes specifying computations, understanding evaluation models, and using major programming language constructs (functions and procedures, conditionals, recursion and looping, scoping and environments, compound data, side effects, higher-order functions and functional programming, and object-oriented programming). It emphasizes key issues that arise in programming and in computation in general, including time and space complexity, choice of data representation, and abstraction management. This course is intended for students with some programming background who want a deeper understanding of the conceptual issues involved in computer programming.
HW: Thursday @2 am online: csman
taught by Donnie Pinkston
Introduction to the basic theory and usage of relational database systems. It covers the relational data model, relational algebra, and the Structured Query Language (SQL). The course introduces the basics of database schema design and covers the entity-relationship model, functional dependency analysis, and normal forms. Additional topics include other query languages based on the relational calculi, data-warehousing and dimensional analysis, writing and using stored procedures, working with hierarchies and graphs within relational databases, and an overview of transaction processing and query evaluation. Extensive hands-on work with SQL databases.
HW: Friday @ 11am in class
taught by Chris Hitchcock
An introduction to fundamental philosophical problems concerning the nature of science. Topics may include the character of scientific explanation, criteria for the conformation and falsification of scientific theories, the relationship between theory and observation, philosophical accounts of the concept of “law of nature,” causation, chance, realism about unobservable entities, the objectivity of science, and issues having to do with the ways in which scientific knowledge changes over time.
HW: Tuesday @ 7pm in class