| COMP 10-C |
Computer Science for AllTBD |
TR 3:00-4:15 Room To Be Announced |
| COMP 11-C |
Introduction to Computer ScienceThe study of computer science centers on two complementary aspects of the discipline. First, computer science is fundamentally concerned with the problem-solving methodologies it derives from its foundational fields: the design principles of engineering, mathematical theory, and scientific empirical study. Second, these methodologies are applied in the complex context of a modern day computing system. In this course we will address both of these important aspects. As a means for developing your design skills, we will discuss the fundamental features of a high level, general purpose programming language -- namely C++-- and learn how to use it as a tool for problem solving. We will also consider the performance of solutions, and how to apply both analytical and empirical assessment techniques. Finally, we will explore the Unix operating system as a context for problem solving. (Additional 2 hr weekly lab time scheduled at first class meeting.) Recommendations: High school algebra. No prior programming experience is necessary. |
MW 6:00p-8:30p Halligan Hall 111B |
| COMP 15-C |
Data StructuresA second course in computer science. Data structures and algorithms are studied through major programming projects in the C++ programming language. Topics include linked lists, trees, graphs, dynamic storage allocation, and recursion. Prerequisite: COMP 11 or consent. This course and COMP 50-01 (COMP 50-PSS) may not both be taken for credit. |
M 6:00p-9:30p Halligan Hall 108 |
| COMP 20-A |
Web ProgrammingAn introduction to techniques, principles, and practices of writing computer programs for the World Wide Web. Server and browser capabilities and limits. Media types, handlers, and limitations. Web programming languages and techniques. Web security, privacy, and commerce. Lectures augmented with programming projects illustrating concepts and current practice. Prerequisite: COMP 11; or COMP 10 and consent. |
MTWRF 12:00a-12:00a Online |
| COMP 50-A |
Fundamentals of Computational DesignWith the availability of increased computing power, many engineering disciplines now rely on utilizing computation to explore different design options. This class introduces fundamental concepts in "computationally" designing complex engineering systems. Students will learn computational design principles shared when designing bridges, airplane wings, and robots. The course will use MATLAB as a computational platform, and cover fundamental concepts such as a solution space, design decision variables, constraints, optimal points within the design space and searching the design space using efficient algorithms, exhaustive enumeration, and approximate algorithms. Prerequisite: Prior programming experience in C, C++, Java, MATLAB, or Python through a formal course at the university or high school level. High School Algebra. |
MTWRF 12:00a-12:00a Online |
| COMP 61-A |
Discrete Mathematics (formerly Comp 22)(Cross-listed as Mathematics 61.) Sets, relations and functions, logic and methods of proof, combinatorics, graphs and digraphs. Prerequisite: Math 11 or 32 or Computer Science 11 or permission of instructor. |
MTWRF 10:45-12:30 Bromfield-Pearson 005 |
| COMP 116-B |
Introduction to Computer SecurityA systems perspective on host-based and network-based computer security. Current vulnerabilities and measures for protecting hosts and networks. Firewalls and intrusion detection systems. Principles illustrated through hands-on programming projects. Prerequisite: Comp 40. |
MTWRF 12:00a-12:00a Online |
| COMP 131-A |
Artificial IntelligenceHistory, theory, and computational methods of artificial intelligence. Basic concepts include representation of knowledge and computational methods for reasoning. One or two application areas will be studied, to be selected from expert systems, robotics, computer vision, natural language understanding, and planning. Prerequisite: Comp 15 and either COMP/MATH 22 or 61 or familiarity with both symbolic logic and basic probability theory. |
TR 6:00p-8:30p Halligan Hall 108 |
| COMP 150-B |
Algorithms and Data StructuresThis course offers an opportunity to expand your knowledge on various topics involving algorithms, data structures and graphs. Often these topics are intertwined; e.g., to create efficient algorithms, it may be useful to design data structures or use existing ones. We will cover a range of topics, such as network and path approximation, all-pairs shortest paths, near-planarity, string matching, linear programming, Fibonacci heaps, balanced trees (Splay, WAVL, Suffix), skip lists, fractional cascading, high-dimensional range counting, etc. These are topics that are useful to know, as one prepares for advanced interviews and/or further graduate work. As an elective, this course will aim to let each student focus more on topics that they are interested in. Evaluation will be primarily based on participation and a project. Prerequisite: Completion of COMP 160 |
MTWRF 12:00a-12:00a Online |
| COMP 160-A |
AlgorithmsIntroduction to the study of algorithms. Strategies such as divide-and-conquer, greedy methods, and dynamic programming. Graph algorithms, sorting, searching, integer arithmetic, hashing, and NP-complete problems. Prerequisite: COMP 15 and COMP/MATH 22 or 61. |
MTWRF 12:00a-12:00a Online |
| COMP 170-A |
Computation TheoryModels of computation: Turing machines, pushdown automata, and finite automata. Grammars and formal languages including context-free languages and regular sets. Important problems including the halting problem and language equivalence theorems. Prerequisite: COMP 15 and COMP/MATH 22 or 61. |
MW 6:00p-9:30p Halligan Hall 102 |
spring 2017