Description of Courses
CSC COMPUTER SCIENCE (School of Mathematical and Natural Sciences)
120. Principles of Computer Science I - 3-2-4
An introduction to the fundamental principles of computer science. Emphasis on algorithms and computational problem solving, fundamental programming constructs, basic computer architecture, data representation and storage, language translation, operating systems, networks and social contexts.
121. Principles of Computer Science II - 3-2-4
A continuation of CSC 120. Emphasis on software development methodologies, structured data, analytical and empirical timing analysis, object-oriented design, event-driven programming, user interfaces, database systems, comparative programming language paradigms, and social contexts. PR: A grade of C or better in CSC 120.
219. Discrete Structures - 3-0-3
(See MAT 219.) Elementary logic, sets, relations, functions, sequences, linear systems, introduction to graphs and trees, counting principles and recurrence.
220. Data Structures and Algorithms - 3-2-4
A course in the design, implementation and use of fundamental data structures including arrays, lists, stacks, queues, trees and graphs. Also covered will be the use of recursion, sorting algorithms and computational complexity analysis. PR: A grade of C or better in both CSC 121 and CSC/MAT 219. (CSC/MAT 219 will be accepted as a corequisite for those with a grade of C or better in MAT 202.)
300. Professional and Social Contexts - 1-0-1
A seminar in the professional and social contexts of computing for computer science majors. PR: CSC 121 and JS.
319. Combinatorial Mathematics - 3-0-3
(See MAT 319.) Generating functions, combinatorial designs, graph theory, tree traversals, networks, computation theory, coding theory, Polya counting. PR: CSC/MAT 219 and MAT 305WI.
320. Algorithms and Models of Computation - 3-0-3
Models of computation and computational complexity. General algorithmic strategies and advanced data structures. Algorithms for specialized problem domains, including artificial intelligence and numerical methods. Parallel algorithms and distributed computing. PR: A grade of C- or better in both CSC 220 and CSC/MAT 219.
333. Imbedded and Real-Time Microprocessor Interfacing and Control - 2-2-3
A study of systems that use an imbedded microprocessor with input/output capabilities to sense real-time environmental conditions to control system action. Functional robotic implementations will be used as a focus for demonstrations of principles and experimentation. Major topics include assembly of mechanisms, serial and parallel communication, assembly and high-level programming, interfacing sensors, interfacing and controlling powers, other real-time systems, and robotic contests. PR: CSC 121.
340WI. Operating Systems - 3-0-3
Operating system design and implementation. Emphasis on strategies to manage processor time and resources and simulation of system performance variables. Extensive reporting on experimentation required. PR: CSC 121.
350. Computer Organization and Architecture - 3-2-4
Organization and architecture of computer systems. Topics include assembly level organization, CPU organization, memory systems, interfacing and communication, performance enhancements, and multiprocessor and alternative architectures. PR: CSC 220.
361. Systems Analysis and Design - 3-0-3
(See BUS 361.) Introduction to the analysis and logical design of computer-based information systems. Emphasis on the development of requirement specifications that serve the business needs of the organization and provide the necessary base for subsequent systems development. Covers both the data-oriented (DBMS) and the process-oriented (structured analysis) approaches. PR: CSC 121 and JS.
362. Database Management Systems - 3-0-3
(See BUS 362.) Concepts of database administration with the principal objective to introduce the wide spectrum of activities involved in database development. Emphasis on physical and logical representations, data modeling, and implementation and management of databases. Focus on relational databases with discussion of current trends in current database technology. PR: CSC 121 and JS.
404WI. Organization of Programming Languages - 3-0-3
Standard methods for defining, describing, implementing and evaluating the grammar, syntax and semantics of computer languages, including interpretative, imperative, functional, logical and specialized proprietary types. The problem-solving paradigms and environments usually associated with different traditional languages, and the implementations of data types, data structures, selection and control structures, data flow and subroutine calls. Writing-intensive assignments with peer review will be required. PR: CSC 220 or CI.
420. Advanced Topics in Computer Science - 3-0-3
An advanced computer science topic to be chosen by the instructor. May be repeated for credit with different topics. PR: CI.
450. Net-centric Computing - 2-2-3
Introduces the structure, implementation and theoretical underpinnings of computer networking and the applications that have been enabled by that technology. PR: CSC 220.
461. Data Communications and Networking - 3-0-3
(See BUS 461.) Introduction to computer networks and their use in business applications. Covers topics of client-server networks, network hardware and software, distributed computing, key issues in network management and fundamentals of data communications. PR: CSC 121 and JS.
490WI. Senior Project - 3-0-3
A capstone experience in computer science focused on the design and implementation of computer systems. PR: CSC 320 and SS.
496. Academic Internship - 3 to 9 hours
Problem-oriented experiences on specific academic projects relating to the individual student's program of study, planned in consultation with the student's advisor. PR: See general provisions for academic internships in this catalog.
498. Directed Study - 1 to 3 hours
Supervised independent study in which students research, program and solve, via the computer, problems suggested and supervised by professors teaching courses in the students' academic-major departments. PR: JS or SS and approval of school dean.