Course Offerings

Fall 2019

See complete information about these courses in the course offerings database. For more information about a specific course, including course type, schedule and location, click on its title.

Fundamentals of Programming I

CSCI 111 - STAFF

A disciplined approach to programming with Python. Emphasis is on problem-solving methods, algorithm development, and object-oriented concepts. Lectures and formal laboratories.

Fundamentals of Programming I

CSCI 111 - Lambert, Kenneth A. (Ken)

A disciplined approach to programming with Python. Emphasis is on problem-solving methods, algorithm development, and object-oriented concepts. Lectures and formal laboratories.

Fundamentals of Programming I

CSCI 111 - Levy, Simon D.

A disciplined approach to programming with Python. Emphasis is on problem-solving methods, algorithm development, and object-oriented concepts. Lectures and formal laboratories.

Software Development

CSCI 209 - Matthews, Elizabeth A. (Liz)

An examination of the theories and design techniques used in software development. Topics include the software life cycle, design patterns, the Unified Modeling Language, unit testing, refactoring, rapid prototyping, and program documentation.

Software Development

CSCI 209 - Lambert, Kenneth A. (Ken)

An examination of the theories and design techniques used in software development. Topics include the software life cycle, design patterns, the Unified Modeling Language, unit testing, refactoring, rapid prototyping, and program documentation.

Theory of Computation

CSCI 313 - Levy, Simon D.

A study of the principles of computer science embodied in formal languages, automata, computability, and computational complexity. Topics include context-free grammars, Turing machines, and the halting problem.

Artificial Intelligence

CSCI 315 - STAFF

Basic concepts of heuristic search, game playing, natural language processing, and intelligent systems, with a focus on writing programs in these areas. Course combines a discussion of philosophical issues with hands-on problem solving.

Video Game Design

CSCI 319 - Matthews, Elizabeth A. (Liz)

In this course, students learn to design and program video games using Python and the Pygame module. Concepts covered include video game code organization utilizing object-oriented programming, OOP design patterns, 2D animation, artificial intelligence, and responding to user feedback.

Directed Individual Study

CSCI 403 - Lambert, Kenneth A. (Ken)

Individual conferences. May be repeated for degree credit if the topics are different.

Honors Thesis

CSCI 493 - Levy, Simon D.

Honors Thesis.

Honors Thesis

CSCI 493 - Matthews, Elizabeth A. (Liz)

Honors Thesis.

Spring 2019

See complete information about these courses in the course offerings database. For more information about a specific course, including course type, schedule and location, click on its title.

Introduction to Robotics

CSCI 250 - Khalifa, Moataz

This course combines readings from the contemporary robotics literature with hands-on lab experience building robots (equipment provided) and programming them to do various tasks. The lab experience culminates with a peer-judged competition of robot projects proposed and built during the second half of the term.

Software Engineering through Web Applications

CSCI 335 - Sprenkle, Sara E.

In this course, students learn to develop high-performance software for Web applications using advanced software engineering techniques. The concepts of client-server computing, theories of usable graphical user interfaces, models for Web-based information retrieval and processing, and iterative development are covered.

Winter 2019

See complete information about these courses in the course offerings database. For more information about a specific course, including course type, schedule and location, click on its title.

Fundamentals of Programming I

CSCI 111 - Sprenkle, Sara E.

A disciplined approach to programming with Python. Emphasis is on problem-solving methods, algorithm development, and object-oriented concepts. Lectures and formal laboratories.

Fundamentals of Programming II

CSCI 112 - Matthews, Elizabeth A. (Liz)

A continuation of CSCI 111. Emphasis is on the use and implementation of data structures, introductory algorithm analysis, and object-oriented design and programming with Python. Laboratory course.

Computer Organization

CSCI 210 - Lambert, Kenneth A. (Ken)

Multilevel machine organization studied at the levels of digital logic, microprogramming, conventional machine, operating system, and assembly language.

Algorithm Design and Analysis

CSCI 211 - Sprenkle, Sara E.

Methods for designing efficient algorithms, including divide-and-conquer, dynamic programming, and greedy algorithms. Analysis of algorithms for correctness and estimating running time and space requirements. Topics include advanced data structures, graph theory, network flow, and computational intractability.

Programming Language Design

CSCI 312 - Lambert, Kenneth A. (Ken)

Formal language description tools, semantic concepts and syntactic constructs appropriate to diverse applications. Comparison of several high-level languages, such as Haskell, Erlang, Java, and PROLOG, and the implementations of these syntactic and semantic elements. Students also learn several programming paradigms, such as the function-oriented, object-oriented, and logic-oriented.

Database Management

CSCI 317 - Mickel, Jason T.

Database design with the entity-relationship model, the relational database model including normal forms and functional dependencies, SQL database query language, server-side scripting for Web access to databases. A major project to design and implement a database using a commercial package.

Directed Individual Study

CSCI 403 - Lambert, Kenneth A. (Ken)

Individual conferences. May be repeated for degree credit if the topics are different.

Directed Individual Study

CSCI 403 - Matthews, Elizabeth A. (Liz)

Individual conferences. May be repeated for degree credit if the topics are different.

Honors Thesis

CSCI 493 - Sprenkle, Sara E.

Honors Thesis.