MAT 203 MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCECampus:
The emphasis will be on algorithmic problem solving and discrete mathematical concepts including logic, sets, Boolean algebra, relations, functions, induction and recursion, counting principles and combinatorics, graphs and trees. Use of the computer as a problem-solving tool will be integrated with the theory. Fundamental algorithms including sorting, searching and tree traversal will be introduced. Prerequisite: MAT 113 or equivalent. 4 hours a week, 1 semester, 4 credits. Fall and spring.
COM 152 COMPUTER PROGRAMMINGCampus:
An introduction to the concepts underlying computer science and programming such as: abstraction, analysis and modularity. Emphasis is on algorithm development and the use of structured program design techniques in solving problems. Students will develop programs using the syntax and semantics of a higher-level language (e.g. Java). Searching, sorting, recursive algorithms and the concept of objects will be introduced. Corresponds to ACM CS1. Prerequisite: COM 150 or departmental approval. 3 hours a week, plus lab, 1 semester, 3 credits. Fall and spring.
COM 200 COMPUTER SCIENCE: AN OVERVIEWCampus:
For students from all disciplines. Topics include: computer organization, information representation in digital computers; data abstraction and data structures such as trees, lists and stacks; algorithm development and analysis; programming languages; hardware and software systems; information processing and database concepts; computer technology and society. 3 hours a week, 1 semester, 3 credits. Fall.
COM 210 ALGORITHMS AND DATA STRUCTURESCampus:
This course explores specific classes of problems and their solutions. Fundamental questions concerning computational complexity, data storage and access, data encapsulation using objects, space/time bounds, optimal algorithms and data structures including lists, queues and trees, are addressed. Algorithms for important classes of problems such as searching, sorting and pattern-matching will be designed, implemented and tested in a laboratory environment. Corresponds to ACM CS2. Prerequisites: COM 152 and MAT 203, each with a minimum of C-, or with departmental approval. 3 hours a week, plus lab, 1 semester, 3 credits. Spring.
COM 249 COMPUTER ORGANIZATION AND ASSEMBLY LANGUAGECampus:
This course explores the evolution and physical structure of modern computers, from microcomputers to mainframes; their integrated circuits, components and organization. The concept of a multilayer virtual machine will be explored and programmed using machine language, microcode, operating system interrupt and assembler language. Advanced concepts such as RISC machines, pipelining and parallel computing will be studied. Students will utilize these principles to analyze the design of a current microprocessor. Prerequisite: at least one high-level language (e.g. C++, JAVA, etc.) 3 hours a week, 1 semester, 3 credits. Spring.
COM 310 OPERATING SYSTEMSCampus:
The emphasis of this course is on the efficient allocation and use of computer resources especially process and memory management, job scheduling, access to hardware and software resources, security and reliability. Examples will be drawn from standard operating systems (e.g. Windows NT, MS-DOS, UNIX). Questions relating to communications (timesharing, networking, concurrency, distributed systems, synchronization and deadlocks) will be discussed. Prerequisite: COM 210 or equivalent. 3 hours a week plus lab, 1 semester, 3 credits. Fall.