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
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
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 co requisite
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.