Course Descriptions

Other courses:

Mathematics

Computer Science Courses

  • CSCI 107: Introduction to Web Programming
    A broad introduction to World Wide Web programming and related technologies. Topics include Internet history and its architecture, managing an account on a Web server, HTML markup, use of style sheets (CSS), page layout design, introduction to interactive programming with JavaScript, the document object model (DOM), and HTML forms. This is a general audience course suitable for those with no prior programming experience.
  • CSCI 109: Intro to Programming for Robots
    This course introduces the basic elements of computer programming by using the Mindstorms programming environment. Students work in teams, writing programs to make their robots perform assigned tasks. The standard building blocks of programming (sequencing, repetition, selection) are developed in the user-friendly, icon-based, drag-and-drop Mindstorms environment. During the second half of the course, students program robots in Python and Java. Each student must have a laptop computer for each class session. This is a beginning course, designed for students with no programming experience. (Not open to students who have completed FIYS 113 or CSCI 112. Does not satisfy requirements for the CSCI major or minor.)
  • CSCI 112: Computer Science I
    Introduction to computer science. Topics include the basic building blocks of problem solving (sequence, selection, repetition), object-oriented programming, basic data structures and algorithms. A prior knowledge of computer science is not required, although a good background in high school Mathematics is recommended. Students may receive credit for this course based on the AP computer science exam.
  • CSCI 212: Computer Science II
    Continuation of Computer Science I. Emphasis on advanced data structures, algorithms, and object-oriented design. Topics include linked data structures, recursion, algorithm analysis, interfaces, and inheritance. Prerequisite: Computer Science 112 with a grade of C or better.
  • CSCI 213: Intro to Computer Architecture
    Computer architecture, including digital logic, modern CPU design, memory layout, assembly language programming, addressing techniques, input/output design, and interfacing with high-level languages. Prerequisite: Computer Science 112.
  • CSCI 214: Principles of Digital Logic
    Basic logic, digital electronics, microcomputer architecture, and interfacing, with hands-on laboratory activity. Prerequisite: Computer Science 213.
  • CSCI 260: Symbolic Logic
    An introduction to propositional and predicate logic. Topics include formal semantics, translation, natural deduction, quantification theory, and completeness. The relevance of logic to computer theory and artificial intelligence is stressed.
  • CSCI 270: Web Development
    This course builds upon Web programming fundamentals. Review of HTML fundamentals and introduction to HTML 5. Review of CSS fundamentals. Detailed coverage of CSS topics including cascade, selectors, box model, positioning, and pure CSS page layout. Introduction to grid design and wireframing. Review of JavaScript fundamentals. Introduction to using pre-written DHTML widgets and JavaScript frameworks such as JQuery. Introduction to server-side scripting with PHP. Prerequisites: Art 142 and CSCI 107. Students are encouraged to take CSCI 112 before this course.
  • CSCI 277: Web Design and Development
    In a project and laboratory-based format, this course focuses on the intersecting skills sets and theoretical knowledge of the graphic artist and Web programmer. Core concepts covered include Web site conceptualization, design conventions and usability considerations, constructing graphical mockups, progressing to XHTML/CSS integration and template construction. Additional topics include Web standards and validation, open source content management systems, dynamically server generated pages, and data collection with XHTML forms. Students will gain proficiency with software such as Adobe's Illustrator and Dreamweaver. A computer laboratory fee will be assessed for this course. Pre-requisites: CSCI 107 and Art 142.
    Cross-listed as: ART 277
  • CSCI 312: Client-Server Web Applications
    An in-depth study of building Web applications using the client-server model. Topics include an overview of HTML and HTML forms for collecting user data, client-server interaction, CGI programming, storage and manipulation of server data using databases, and returning dynamic content to the client. Preprocessed HTML documents with PHP or Java Server Pages and Web session control with cookies and other useful objects. Additional topics may include the distributed object framework, XML for data extensibility, and an overview of Microsoft's Active Server Pages (ASP) and .NET platform for distributed Web applications. Prerequisite: Computer Science 212.
  • jump to top
  • CSCI 317: Data Structures and Algorithms
    The study of advanced data structures and algorithm analysis. Topics include trees, hash tables, heaps, sorting algorithms, and graph algorithms. The emphasis will be on applying data structures to design and implement efficient algorithms. Additional topics may include dynamic programming and computational complexity. Prerequisite: Computer Science 212.
  • CSCI 318: Programming Languages
    A study of different problem solving paradigms, and representative programming languages. Topics include imperative vs. functional vs. event-driven vs. declarative paradigms, markup vs. computation, typing, memory organization, scope, and lifetime management. Lab exercises focus on working in the various paradigms, and the trade-offs involved. Prerequisite: Computer Science 212.
  • CSCI 323: Cryptography
    An introduction to cryptology and cryptanalysis, the making of codes and the breaking of codes. History and basic concepts. Classical ciphers and attacks on classical ciphers. One-time Pad. Modern ciphers including DES, AES. Public key ciphers including RSA and Diffie-Hellman. Digital signatures. Additional topics may include Elliptic Curve systems, knapsack systems, and other cryptographic systems. Prerequisites: Mathematics 230 and Computer Science 212, or permission of the instructor.
    Cross-listed as: MATH 323
  • CSCI 334: Theory of Computation
    This course covers fundamental ideas in the theory of computation, including formal languages, computability, complexity, and reducibility among computational problems. Topics include formal languages, finite state automata, Kleene's theorem, formal grammars, pushdown automata, context-free languages, Turing machines, computability, Church's Thesis, decidability, unsolvability, and NP- completeness. Prerequisites: CSCI 212 and Mathematics 230.
    Cross-listed as: MATH 334
  • CSCI 336: Operating Systems
    An introduction to modern operating systems and their most important features. Topics include multiprocessing, virtual memory, multithreading, concurrency, I/O, networking, security, and distributed computing. Students construct a major component of an operating system in C or C++. Prerequisites: Computer Science 212 and 213.
  • CSCI 360: Math Modeling
    Introduction to the process and techniques of modeling actual situations using mathematical methods and computer simulation. Topics may include optimization, dynamical systems, axiom systems, queuing theory, and introduction of a simulation language. Team projects and reports. Prerequisites: Mathematics 111, Computer Science 212, and some additional sophistication in at least one of the following: mathematics, computer science, or applying mathematics in a field of interest.
  • CSCI 365: Algebraic Coding Theory

  • CSCI 375: Combinatorics & Graph Theory
    Enumeration techniques with emphasis on permutations and combinations, generating functions, recurrence relations, inclusion and exclusion, and the pigeonhole principle. Graph theory with emphasis on trees, circuits, cut sets, planar graphs, chromatic numbers, and transportation networks. Additional topics from designs with emphasis on Latin squares, finite projective and affine geometries, block designs, and design of experiments. Prerequisite: Mathematics 230.
    Cross-listed as: MATH 375
  • CSCI 417: Algorithms and Algorithm Analysis
    The study of algorithms and their mathematical analysis. Divide-and-conquer, greedy, brute-force, dynamic programming, backtracking, advanced tree and graph algorithms, big-O notation, case and amortized analysis. Prerequisites: Mathematics 230 and Computer Science 317.
  • CSCI 425: Artificial Intelligence
    An introduction to AI via topics including tree and graph searches, min-max methods, alpha-beta pruning, heuristics, backtracking, natural language processing, and computer vision. Prerequisite: Computer Science 212.
    Cross-listed as: NEUR 425
  • jump to top
  • CSCI 427: Introduction to Database Systems
    An in-depth study of proper methods of design for database systems, with an emphasis on the relational model. Topics include relational design, query languages, and transactional processing. Lab exercises focus on GUI-driven, SQL-based access as well as modern, multi-tier styles of design. Prerequisite: Computer Science 212.
  • CSCI 461: Compiler Design
    An introduction to the design and construction of compilers for modern programming languages. Topics include grammars, formal language definition, abstract syntax trees, symbol tables, syntax and semantic checking, code generation, and optimization. Students construct a modern compiler for an object-oriented programming language. Prerequisites: Mathematics 230 and Computer Science 212 and 213.
  • CSCI 488: Senior Seminar in Computer Science
    A seminar-like discussion of software engineering, object-oriented design, and large-scale software development. Students will practice modern software engineering as well as read and present papers concerning the subject. Prerequisites: Computer Science 317, 318 and permission of the instructor. (Meets GEC Senior Studies Requirement.)
  • CSCI 489: Advanced Topics in Computer Science
    Special topics and projects in computer science, including but not limited to distributed systems, secure computing, Web development, user-interface design, and software engineering. Prerequisites: Computer Science 317, 318, and permission of instructor. (Meets GEC Senior Studies Requirement.)

Mathematics Courses

  • MATH 103: Nature of Mathematics
    Intended for students with primary interests in the humanities and social sciences. The course uses set theory, logic, and language as a foundation for studying a variety of topics central to the development of modern mathematics. Emphasizing the central role of language in mathematics, the course shows that mathematics is about communication of ideas. Topics will be explored through experimentation with computers where appropriate using games, puzzles, and group projects as well as lectures and discussions. Additional topics include codes and basic geometry. The course will focus on the interplay of different ideas.
  • MATH 104: Elem Math from Advanced Standpoint
    MATH 104: Elementary Math from an Advanced Standpoint This course presents an overview, for a sophisticated audience, of several topics from elementary mathematics. The course stresses three themes: mathematics in the liberal arts, mathematics from a historical perspective, and mathematics as a problem-solving activity. Topics to be covered include numeration systems, non-base-10 representations, and elementary number theory including primes and factorizations, rationals as terminating and repeating decimals, irrationals, simple probability experiments, elementary set theory, and mathematical reasoning.
    Cross-listed as: EDUC 104
  • MATH 105: Elementary Functions
    Properties of functions with emphasis on polynomial, exponential, logarithmic, and trigonometric functions. Analytic geometry. (Does not meet GEC Natural and Mathematical Sciences Requirement. Not open to students who have completed Math 110 with a grade of C- or better.)
  • MATH 110: Calculus I
    The calculus of functions of one variable. Limits, continuity, differentiation, and applications; a brief introduction to integration. Prerequisite: 3.5 years of high school mathematics (to include trigonometry) or Mathematics 105.
  • MATH 111: Calculus II
    The calculus of functions of one variable. Integration, applications of integration, sequences, and series. Prerequisite: Mathematics 110.
  • MATH 115: Honors Calculus I
    Theory and applications of the calculus of functions of one variable. Limits, continuous functions, differentiable functions, the definite integral, and applications. Prerequisite: permission of the instructor.
  • MATH 116: Honors Calculus II
    Continuation of Mathematics 115. Integration and applications, sequences, infinite series. Prerequisite: permission of the instructor.
  • MATH 150: Intro Probability & Statistics
    Designed for students in the social and life sciences. Discrete probability theory, distributions, sampling, correlation, and regression, Chi square and other tests of significance. Emphasis on the use of the computer as a tool and on applications to a variety of disciplines. Not open to students who have taken ECON/BUSN 180 or ECON/BUSN/FIN 130.
  • MATH 160: Math Methods with Applications
    (Mathematical Methods with Applications) Topics from finite mathematics including linear equations and inequalities, systems of linear equations, matrices, and the graphical method for linear programming. Basic properties and graphs of linear, quadratic, polynomial, rational, exponential, and logarithmic functions. Introduction to limits, derivatives and antiderivatives. Applications to business, the social sciences, and the life sciences. (Not open to students who have completed Math 110 with a grade of C- or better.)
  • MATH 161: Mathematical Modeling
    Mathematical topics as needed to build and solve mathematical models of situations in the life, environmental, and economic sciences. Topics covered include discrete dynamical systems, difference equations, linear, quadratic, and exponential growth models, the logistic model, and examples of chaos in dynamical systems.
  • jump to top
  • MATH 210: Multivariable Calculus
    Partial differentiation, the algebra and calculus of vectors, curves and their parameterization, multiple integration, Stokes's and Green's theorem, and applications. Prerequisite: Mathematics 111.
  • MATH 211: Math of Chaos
    A study of nonlinear dynamical systems, including iteration of functions, attracting and repelling periodic orbits, bifurcation, the period doubling route to chaos, complex dynamics, fractals, and Mandelbrot and Julia sets. Real-world implications and applications of chaos. Can meet the requirements for a 300-level-or-above mathematics course on completion of an additional project approved by the instructor. Prerequisite: Mathematics 111.
  • MATH 214: Differential Equations
    Differential equation models, analytic solution techniques, qualitative solution concepts, and computer visualization for single equations and systems. Applications of differential equations. Prerequisite: Mathematics 210 or permission of the instructor.
  • MATH 230: Abstract & Discrete Mathematics
    Topics covered include logic and proofs, set theory, relations, cardinal numbers, countable and uncountable sets, permutations and combinations, graph theory, and group theory. Prerequisite: Mathematics 110.
  • MATH 231: Linear Algebra
    Vector spaces, linear independence, linear transformations, matrices, determinants, and applications to geometry. Prerequisite: Mathematics 230 or permission of the instructor.
  • MATH 310: Complex Analysis
    Study of functions of one complex variable. Analytic functions, complex integration, Cauchy's theorem, complex power series, and special functions. Applications to other areas of mathematics and to mathematical physics. Prerequisites: Mathematics 210 and 230 or permission of the instructor.
  • MATH 311: Introduction Real Analysis
    A rigorous course covering the following introductory real analysis topics: axioms for the real numbers, sequences, boundedness, limits, monotone functions, continuity, uniform continuity, Cauchy criterion for convergence, cluster points, compactness, differentiability, integration, and infinite series. Prerequisites: Mathematics 210 and 230.
  • MATH 320: Mathematical Methods

  • MATH 323: Cryptography
    An introduction to cryptology and cryptanalysis, the making of codes and the breaking of codes. History and basic concepts. Classical ciphers and attacks on classical ciphers. One-time Pad. Modern ciphers including DES, AES. Public key ciphers including RSA and Diffie-Hellman. Digital signatures. Additional topics may include Elliptic Curve systems, knapsack systems, and other cryptographic systems. Prerequisites: Mathematics 230 and Computer Science 212, or permission of the instructor.
    Cross-listed as: CSCI 323
  • MATH 329: Number Theory
    Mathematical induction, divisibility properties of integers, prime numbers, and congruences. Prerequisite: Mathematics 230 or permission of the instructor.
  • jump to top
  • MATH 330: Modern Algebra I
    A study of algebraic structures with emphasis on groups, rings, and fields. Prerequisite: Mathematics 230.
  • MATH 331: Modern Algebra II
    Additional topics in modern or linear algebra such as field extensions, Galois Theory, group conjugacy, modules, eigenvalue theory, dual spaces, and unitary spaces. Prerequisite: Mathematics 330 or permission of the instructor.
  • MATH 334: Theory of Computation
    This course covers fundamental ideas in the theory of computation, including formal languages, computability, complexity, and reducibility among computational problems. Topics include formal languages, finite state automata, Kleene's theorem, formal grammars, pushdown automata, context-free languages, Turing machines, computability, Church's Thesis, decidability, unsolvability, and NP- completeness. Prerequisites: CSCI 212 and Mathematics 230.
    Cross-listed as: CSCI 334
  • MATH 340: Geometry
    Selected topics from affine, Euclidean, non-Euclidean, projective, and differential geometry. Prerequisite: Mathematics 230 or permission of the instructor.
  • MATH 350: Mathematical Probability
    Discrete and continuous probability. Distributions, the law of large numbers, the central limit theorem, random variables, and generating functions. Prerequisites: Mathematics 210 and 230 or permission of the instructor.
  • MATH 351: Mathematical Statistics
    A mathematical study of such topics as estimation of parameters, confidence intervals and tests of hypotheses, decision theory, regression, analysis of variance, and nonparametric methods. Prerequisite: Mathematics 350.
  • MATH 360: Mathematical Modeling

  • MATH 365: Algebraic Coding
    A study of the algebraic structure of codes designed to transmit messages through a noisy channel in an efficient and relatively error-free fashion. Topics include finite-dimensional vector spaces over a finite field and the connection between coding theory and areas such as geometry, combinatorics, and number theory. Prerequisite: Mathematics 231 or permission of the instructor.
  • MATH 375: Combinatorics & Graph Theory
    Enumeration techniques with emphasis on permutations and combinations, generating functions, recurrence relations, inclusion and exclusion, and the pigeonhole principle. Graph theory with emphasis on trees, circuits, cut sets, planar graphs, chromatic numbers, and transportation networks. Additional topics from designs with emphasis on Latin squares, finite projective and affine geometries, block designs, and design of experiments. Prerequisite: Mathematics 230.
    Cross-listed as: CSCI 375
  • MATH 410: Topology
    Point set topology. Such topics as topological spaces, separation axioms, covering properties, metrization, convergence and completeness, and homotopy theory. Prerequisite: Mathematics 230.
  • jump to top
  • MATH 411: Topics in Modern Analysis
    Introductory notions of functional analysis. Banach spaces, integration and measure, Hilbert spaces, and commutative Banach algebras. Prerequisite: Mathematics 311.
  • MATH 499: Great Theorems of Mathematics
    Seminar course to introduce students to various masterpieces in the development of mathematics. Some of the most historically important proofs and ingenious logical arguments from mathematics will be presented and discussed. An emphasis will be placed on the interconnectedness among various subject areas within mathematics. Prerequisite: permission of the instructor. (Meets GEC Senior Studies Requirement.)

Faculty

Internships

Alumni