Course Criteria

Add courses to your favorites to save, share, and find your best transfer school.
  • 3.00 Credits

    An introduction to the mathematical foundations, design, implementation and computational analysis of fundamental algorithms. Problems include heuristic searching, sorting, several graph theory problems, DNA string matching and the theoretical expression of their orders of growth. Out-of-class assignments and in-class labs emphasize the balance between theoretical hypotheses and experimental verification. C/C++, Java, Perl or Maple are applied to various solutions. Three hours of lecture and a two-hour laboratory per week. (Mark D. LeBlanc, Lisa N. Michaud) Connections: Conx 20015 Genes in Context
  • 3.00 Credits

    A detailed look at the internal organization and logic of computers. The programming portion of the course considers a common assembly language and how such instructions are translated to the binary instructions of a traditional 32-bit machine language. Addressing modes and stack behavior related to subroutine calls are discussed in detail. The computer organization portion of the course discusses gates, storage circuits, the arithmetic and logic unit, fetch/execute cycles and data paths. Microcoding is discussed in detail. The question of performance, in relation to a computer's architecture and the choices made by programmers, is a major theme throughout the course. (Michael B. Gousie) Connections: Conx 20022 Computer Architecture
  • 4.00 Credits

    An amazing blend of biology, chemistry, computing and mathematics emerges when considering the molecule "Deoxyribonucleic Acid" (DNA). DNA isthe blueprint of life for all organisms on Earth and throughout evolutionary time. This course explores DNA from the following four points of view: molecular biology, applied mathematics, evolutionary biology and computer science. Students will analyze DNA sequences by learning to write computer programs (software) in the language Perl. Learning to write programs is a pure, distilled form of problem solving, a vital skill for many careers and graduate studies. Historical and ethical aspects of DNA are discussed. Counts as a related course in the biology major and as a 200-level elective in the computer science major. (Betsey Dexter Dyer, Mark D. LeBlanc) Connections: Conx 20015 Genes in Context
  • 3.00 Credits

    The idea of a thinking machine captivates us as a culture and our long struggle toward an approximation of that goal has pushed us to examine what underlies our own thought processes and how we may create problem-solving models based on different definitions of what constitutes "intelligence."This course examines the fundamentals of artificial intelligence, including searching for problem solutions, game playing, logical reasoning, task planning and robotics. We also explore the advanced topics of natural language communication between man and machine and the challenge of designing a machine that learns from experience. (previously COMP 355) (Lisa N. Michaud, Mark D. LeBlanc)
  • 3.00 Credits

    In an age of information, it is crucial to understand how to design systems to manage and organize potentially large collections of data. This course involves an in-depth study of the issues involved in today's database management systems (DBMS). Topics include the theories behind database architecture (including the relational model), database design and DBMS implementation, as well as the collection, organization and retrieval of data through query languages such as SQL. (Lisa N. Michaud)
  • 3.00 Credits

    A theoretical study of the principles that govern the design and implementation of contemporary programming languages. This includes language syntax (lexical properties, BNF notation and parsing); language representations (data structures, control structures and runtime environments); and practical experience with language styles (procedural, functional, logical and object-oriented). Particular focus is on object-oriented languages. Labs, homework and programming assignments include selections from languages that are object-oriented (Java, C++, C#), functional (LISP), declarative (PROLOG) and used for data-interface (PERL), building system tools (C) and object-based applications (Visual Basic). (Michael B. Gousie, Mark D. LeBlanc)
  • 3.00 Credits

    Operating systems are the software core of computers. This most fundamental of all system programs controls all of the computer's resources and provides the base upon which all application programs are written. The course introduces the theoretical structure of current computer operating systems, including batch, multiprogramming and multiprocessor systems. Specific strategies for input-output, interrupt handling, file management and concurrency are discussed. Practical experience is gained by writing module simulations, implementing concurrency by using threads and altering actual operating system software. (Michael B. Gousie)
  • 3.00 Credits

    A look at many of the mathematical tools, data structures, algorithms and hardware associated with the creation of imagery on the computer. The course covers aspects such as animation, 3-D geometric transformations, projections, shading, texture mapping, viewing, and visible surface determination. Modeling techniques, including fractals, surfaces of rotation and L-systems are discussed. Advanced topics such as ray tracing, radiosity, shadows and other effects are covered as time permits. Major programming projects put theory into practice, using OpenGL or other computer graphics application programmer interfaces. (Michael B. Gousie) Connections: Conx 23012 Visualizing Information
  • 3.00 Credits

    Many complex problems can be solved using a finite state machine approach. This course is a look at various kinds of such theoretical machines and how understanding them can lead to practical solutions to programming problems. Topics include regular languages, context-free languages, finite automata, pushdown automata, nondeterminism and Turing machines. The halting problem and the problem of computability versus undecidability are investigated. The topics are shown to have applications to compiler design; portions of a compiler are implemented in a major project. (Michael B. Gousie)
  • 3.00 Credits

    An individual or small-group study in computer science under the direction of an approved advisor. An individual or small group works on the conception, design and implementation of a significant computer science project. Interdisciplinary projects are strongly encouraged. Students are also expected to assume a greater responsibility in the form of leading discussions and working examples.
To find college, community college and university courses by keyword, enter some or all of the following, then select the Search button.
(Type the name of a College, University, Exam, or Corporation)
(For example: Accounting, Psychology)
(For example: ACCT 101, where Course Prefix is ACCT, and Course Number is 101)
(For example: Introduction To Accounting)
(For example: Sine waves, Hemingway, or Impressionism)
Distance:
of
(For example: Find all institutions within 5 miles of the selected Zip Code)
Privacy Statement   |   Terms of Use   |   Institutional Membership Information   |   About AcademyOne   
Copyright 2006 - 2024 AcademyOne, Inc.