|
|
Course Criteria
Add courses to your favorites to save, share, and find your best transfer school.
-
3.00 Credits
A study of core topics in computing, focusing on concepts related to the Internet and its social implications. Topics will include fundamental concepts in computing hardware, networks, Web programming and design, and databases, as well as social issues such as data privacy, intellectual property, and resource accessibility. Students will complete significant projects in Web design and research concerning contemporary issues.
-
3.00 Credits
Introduction to mechanical design and computer programming in the context of building and programming mobile robots. Mechanical design topics will include vectors and forces, Newton's Laws, gears, motors, rotational motion, friction, and the design process. Computer science topics will include an introduction to programming, the programming of sensors and motors, and an introduction to artificial intelligence. Other topics include application of scientific method, teamwork skills, technical writing, and the relationship between the science fiction portrayal of robots and current technological reality. Cross-listed as PHYS 135.
-
3.00 Credits
Introduction to computer programming, the process of designing and constructing software. It emphasizes techniques for object-oriented design and software development by means of an introduction to the features of the programming language Java, including the notion of classes, and computation due to the interaction between classes. The course also covers some of the most fundamental data structures and algorithms that are useful in Computer Science.
-
3.00 Credits
Builds on the skills acquired in Foundations of Computer Science I, placing special emphasis on object oriented software design and data abstraction. Students are introduced to some of the most important and frequently used data structures: lists, stacks, queues, trees, graphs, and programming techniques such as recursion. Other topics covered include analysis of algorithm complexity, program verification, and simulations. Programming assignments focus on the design and implementation of algorithms and data structures. Prerequisite: CSCI 150 and either completion of or enrollment in MATH 130.
-
3.00 Credits
A study of the layers of abstraction composing the design of modern computing systems. Topics include numeric representation, digital logic, the memory hierarchy, machine language and assembly language, the program stack, the system call concept, and the compilation process. Students will be introduced to the C programming language. Prerequisite: CSCI 151.
-
3.00 Credits
Introduction to the computer science concepts necessary for the development of large software systems. Topics will include human-computer interaction, multithreading, network programming, parsing, grammars, testing, and an introduction to databases and software engineering. Programming assignments will emphasize the integration of multiple concepts in the context of realistic software applications. Students will also read and reflect upon case studies in computing ethics, as a way of understanding the societal context in which computer programs are utilized. Prerequisite: CSCI 151.
-
3.00 Credits
Introduction to algorithm design strategies that build upon data structures and programming techniques introduced in the first two computer science courses. Strategies discussed will include brute-force, divide-and-conquer, dynamic programming, problem reduction, and greedy algorithms. Particular topics to be covered will include graph traversal and shortest paths, string matching, searching, sorting, and advanced data structures such as balanced search trees, heaps, hash tables, state machines, and union-find structures. In addition, the course will include an introduction to complexity theory and the complexity classes P and NP. Prerequisites: CSCI 151 and MATH 240.
-
3.00 Credits
A study of the design concepts of major importance in modern computers. Topics will include microprogramming, language-directed computers, parallel processors, and pipeline computers. Emphasis will be placed on the relationship of architecture to programming issues. Prerequisite: CSCI 230.
-
3.00 Credits
An introduction to the design, analysis, implementation, and application of classical and contemporary algorithms in artificial intelligence, with an emphasis on the development of complete, embodied intelligent agents. Topics will include symbolic planning, robot programming under both subsumption and hybrid paradigms, automated theorem-proving, intelligent game-playing programs, rule-based systems, genetic algorithms, neural networks, and machine learning. Prerequisite: Any CSCI course listed 200 or above.
-
3.00 Credits
Introduction to the theoretical and practical aspects of database management systems. Emphasis is on the relational data model. Topics covered include query languages, relational design theory, file structures, and query optimization. Students will implement a database application using Oracle or MySQL, Java Applets, and Servlets. Prerequisite: Any CSCI course listed 200 or above.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|