Departmental Courses: Computer Science
CSCI 171 (3) Computing Fundamentals An introduction to computer use and the fundamental computing tools: information search, retrieval and storage, word processing, spreadsheets and databases. CSCI 188 (4) Java Programming I An introduction to computer science and object-oriented programming Jaa. Topics include data types and Java packages through collections and class design and implementation. Structured programming, object-oriented design, and the testing of programs will be stressed, emphasizing platform independent application development. CSCI 261 (1) Directed Study Selected topics pursued by individual students or small groups of students under supervision of a member of the department. CSCI 264 (3) Discrete Structures An introduction to the algebraic and combinatorial methods used in computer science. The topics will include sets, logic, mathematical induction, trees, graphs, the inclusion- exclusion principle, proof methods, counting and probability, and relations and digraphs with applications to computer science. CSCI 289 (4) Java Programming II This course is a continuation of CSCI 188. It covers advanced Java programming techniques and object-oriented design including exceptions, advanced input/output, object serialization and threads. Additional topics include one or more of the following: server-side applications, JavaServer pages, servlets and database programming. CSCI 293 (3) C++ for java Programmers Object-oriented programming in C++. Emphasis is on the differences between C++ and Java, in particular those elements of C and C++ that are not present in Java. Includes, but is not limited to, arrays, pointers, destructors, template classes, function overloading, the C++ Standard Library and virtual functions. CSCI 361 (1) Special Study Selected topics pursued by individual students or small groups of students under supervision of a member of the department. CSCI 365 (3) Algorithm Analysis Rigorous analysis of algorithms for searching and sorting, use of data structures such as hash tables and binary search trees and techniques such as dynamic programming and greedy algorithms. Emphasis is on asymptotic time and space complexity - best and worst case as well as amortized analysis. IIIW CSCI 374 (3) Computer Architecture Computer organization and architecture. The use of assembly language in studying addressing schemes, number representation and arithmetic, subroutine conventions and calling sequences, and an examination of the underlying computer hardware. Includes an introduction to digital logic. CSCI 377 (1) Internship CSCI 379 (3) Operating Systems The software systems which manage computer hardware. Topics include processes, interprocess communication, deadlock, memory management, swapping, paging, virtual memory, input/output management, file systems, protection, security, distributed and multiprocessor machines. Offered alternate years. CSCI 394 (3) Topics in Computer Science Content varies yearly. Examples include: using the UNIX operatine system; UNIX internals; real-time audio and video systems; communications networks; programming languages. Offered alternate years. CSCI 442 (3) Applications Development A team-oriented software engineering based approach to the design and maintenance of large practical software projects using a commercial development environment emphasizing component reuse, revision control and test case development. Offered alternate years. CSCI 452 (3) Senior Seminar This seminar is the departmental senior exercise, required of all computer science majors. Under the direction of faculty mentors, students select and research topics in order to present them to the class. Historical topics comprise one focus of the course. This course is graded on a P/CR/NC grading option only. IIIO CSCI 461 (1) Independent Study Selected topics pursued by individual students or small groups of students under supervision of a member of the department.
|