|
|
|
|
|
|
|
Course Criteria
Add courses to your favorites to save, share, and find your best transfer school.
-
3.00 Credits
Investigation, through hands-on experience, of a modern application of computer science. Applications may include robotics, virtual reality, games, manipulation of digital media, and human-computer interaction. Topics for individual sections will be printed in the preregistration materials. No prior computer experience is expected. Not open to students who have completed 110. May not be counted toward the concentration or the minor. (Quantitative and Symbolic Reasoning.) Maximum enrollment, 12. Hirshfield.
-
3.00 Credits
The first course in computer science is an introduction to algorithmic problem-solving using the Python programming language. Topics include primitive data types, mathematical operations, structured programming with conditional and iterative idioms, functional abstraction, objects, classes and aggregate data types. Students apply these skills in writing programs to solve problems in a variety of application areas. No previous programming experience necessary. (Quantitative and Symbolic Reasoning.) Maximum enrollment, 26. Bailey and Campbell.
-
3.00 Credits
A second course in programming, concentrating on the implementation of dynamic structures for data representation. Students will write programs in the C++ programming language which implement the following classic data structures, among others: stacks, lists, queues, hash tables, and trees. Course discussion will emphasize recursion, efficient implementations in terms of memory space and running time, computational complexity of algorithms, and introduction to two important fields of study: searching and sorting. (Quantitative and Symbolic Reasoning.) Prerequisite, 110, or placement by the department. Maximum enrollment, 26. A Campbell.
-
3.00 Credits
Study of mathematical models and techniques commonly used in computer science. Emphasis on analytical and logical skills, including an introduction to proof techniques and formal symbolic manipulation. Topics include set theory, number theory, permutations and combinations, mathematical induction and graph theory. Topics will be reinforced with hands-on experiences using the ML programming language. Appropriate for students with strong pre-calculus backgrounds. No previous programming experience necessary. (Quantitative and Symbolic Reasoning.) Not open to seniors; open to juniors by consent of instructor. Maximum enrollment, 26. Decker.
-
3.00 Credits
An investigation of the nature of computation through development of several models of computation. Topics include finite state machines, pushdown automata and Turing machines, the Chomsky language hierarchy, discussion of computational complexity, and illustration of how these abstract models of computation may be applied to language recognition problems such as lexical analysis and parsing. (Quantitative and Symbolic Reasoning.) Prerequisite, 123; or, senior standing and permission of instructor. Maximum enrollment, 26. Decker.
-
3.00 Credits
Investigation into the nature, features, design and implementation of programming languages. Students will gain experience with a wide variety of programming languages through programming exercises. Topics will include, among others, object-oriented programming, functional programming, higher-order functions, type systems and polymorphism. Prerequisite, 111; or, senior standing and permission of instructor. Maximum enrollment, 26. Bailey.
-
3.00 Credits
A study of the connection between high-level programs and the machines on which they run by means of extensive programming experience using assembly language. Topics will include translation of high-level language idioms into assembly language, number systems and representation schemes, exceptions, interrupts, polling, and an introduction to the structure of the underlying hardware. In the final project, students develop an assembler. Prerequisite, 111; or, senior standing and permission of instructor. Maximum enrollment, 26. Campbell.
-
3.00 Credits
Study of classic programming problems from regional and national programming competitions. Students are required to participate in a regional programming contest. Prerequisite, CPSCI 111, and consent of instructor. One-quarter course credit. Offered credit/no credit. May be repeated. Students may count up to one credit from courses numbered 290-298 toward graduation. Maximum enrollment, 20. Bailey and Campbell.
-
3.00 Credits
Study of the translation of high-level languages into assembly language. Topics will include tokenizing, parsing, type checking, code generation and optimization. Each student will implement a significant portion of a compiler. Programming intensive. Prerequisite, 210, 220 and 240. Maximum enrollment, 26. Bailey.
-
3.00 Credits
Discussion of the canon of standard algorithms, with analysis of time and space complexity. Topics will include, among others: sorting, searching and selection; numerical algorithms; string matching; graph algorithms; parallel algorithms; non-determinism and NP-completeness. Theory intensive. Prerequisite, 111 and 123. Maximum enrollment, 26.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Privacy Statement
|
Terms of Use
|
Institutional Membership Information
|
About AcademyOne
Copyright 2006 - 2025 AcademyOne, Inc.
|
|
|