Andrea Salgian |
Associate Professor, Department of Computer Science, The College of New Jersey |
Courses Taught |
A first course in computer science for computer science majors in which students learn to express algorithmic ideas in an abstract manner. An object-oriented language such as Java will be introduced; however, the emphasis is on algorithmic design and implementation rather than language mechanics. Students will become intimately familiar with expressing mathematical ideas as programs. |
CSC 220 - Computer Science I: Computational Problem Solving |
A second course in computer science in which students learn how the algorithms and structures studied in CMSC 220 are implemented on a sequential machine. Classic data structures (lists, queues, stacks, trees, and tables) and algorithms (searching and sorting) are considered, but the emphasis is on analysis. First analysis of implementation techniques is addressed by studying the trade-offs between static and dynamic structures. Second analysis of complexity of algorithms is studied first informally and then using formal proof techniques. The implementation of the object-oriented paradigm is also shown via Java. |
CSC 230 - Computer Science II: Data Structures |
A thorough grounding in the fundamental principles of digital computer graphics methods for students with both computer science and mathematical sophistication. Emphasis is on algorithms and methods, not on using canned graphics packages. Digital display devices, scan conversion, clipping, geometric transformations in two and three dimensions, camera modeling. Image processing and computer vision concepts are introduced as time permits. |
CSC 350 - Digital Computer Graphics |
This course studies how to make the computer behave intelligently. Topics that will be covered include: state-space methods of problem solving, heuristic search techniques, logic, representation and use of knowledge, computer vision and image understanding, robotics. |
CSC 380 - Artificial Intelligence |
See Research page for ongoing projects. |
CSC 498, 499 - Mentored Research I and II in Computer Science |
This course focuses on both human and artificial intelligence as a means to improve our own use of intelligence. Various mathematical and computational mechanisms behind intelligence are explored and analytical and logical reasoning skills are practiced. The two main themes behind these mechanisms are logical and probabilistic analyses. Logical formulas are used to model certain aspects of human intelligence, e.g., communication and reasoning, and use probabilistic methods to model decision making under uncertainty and certain aspects of learning. |
FSP 151-02 - Human and Artificial Intelligence |
This course focuses on both human and artificial intelligence as a means to improve our own use of intelligence. Various mathematical and computational mechanisms behind intelligence are explored and analytical and logical reasoning skills are practiced. The two main themes behind these mechanisms are logical and probabilistic analyses. Logical formulas are used to model certain aspects of human intelligence, e.g., communication and reasoning, and use probabilistic methods to model decision making under uncertainty and certain aspects of learning. |
CSC 104 - Human and Artificial Intelligence |
Concepts and structures fundamental to computer science. Declarative programming techniques are used to explore discrete structures. Topics include logic, relations, functions, word algebras, induction, and recursion. |
CSC 310 - Discrete Structures of Computer Science |