
Undergraduate Major
Undergraduate Minor
Graduate Program
Semester Schedules
Online Registration
Course Descriptions
Entrance Exam (CSC300)
Exit Exam (CSC301)
|
Computer Science Course Descriptions
Please note that this listing is merely a descriptive reference of courses that are offered by the program.
Any mention of a specific course in this listing should not be construed to mean that the course in question is
currently being offered this term. Rather, please check the semester schedule listings for course availiability.
The title of the course may include a link to the syllabus for that course.
The following chart lists the Spring 2007 courses and the prerequisites required for each course according to the catalogue.
CSC 300 Entrance Assessment (0 Hrs.) Evaluation of computer science knowledge on entering the program. This
evaluation should be taken during the student's first semester of enrollment.
CSC 301 Exit Assessment (0 Hrs.) Evaluation of computer science knowledge on graduation. Exit assessment helps
students assess their progress and helps the program revise curriculum. CSC 301 should be taken during the
student's final semester before graduation.
CSC 317 Software Packages (2 Hrs.) A large part of the computing that is being done today is through general
programs designed to handle a wide range of general problems rather than through programs designed to solve
a specific problem. This course looks at a number of these general programs (software packages) from the viewpoint
of the task to be performed and how a specific package can be used to accomplish the job. Examples are taken from
word processing, spreadsheet, data base, and operating systems. Considerable time in the computer lab is required.
CSC 318 Computer Literacy (4 Hrs.) Introduction to computers for personal and professional use. A course of
general interest, giving experience with personal computer software including word processing, spreadsheet,
database, and electronic communication applications; information retrieval from the Internet; and fundamental
computer literacy. Considerable time in computer lab is required.
CSC 325 Computer Science I (4 Hrs.) Structured programming techniques. Emphasis on control
structures, procedures, simple data types, and structured
data types, including arrays, records, and files. Assigned
problems require considerable time in the computer lab.
For students with no prior programming experience.
CSC 375 Computer Science II (4 Hrs.) Extensive top-down design principles to solve non-trivial
problems. Emphasis on advanced array applications, dynamic
storage, and classes. Programming assignments
include implementation of lists, stacks, queues, and recursions.
Prerequisite: CSC 325.
CSC 376 Computer Organization (4 Hrs.) Introduction to elementary computer architecture and
assembly/machine language. Emphasis on the fetch-execute
cycle and CPU organization, binary information
representations, combinational logic, and sequential circuits.
An overview of the memory hierarchy and I/O interfaces
included as time permits.
Prerequisite: CSC 375 and MAT 302. MAT 302 may be taken concurrently.
CSC 385 Data Structures and Algorithms (4 Hrs.) Object-oriented software design including sorting and
searching algorithms. Implementation of trees, graphs,
and other advanced data structures. Algorithm analysis
of running times and storage requirements.
Prerequisites: MAT 302 and CSC 375.
CSC 387 Foundations of Computer Science (4 Hrs.) An overview of selected computer science topics:
computers and society, software engineering, file structures,
database structures, artificial intelligence, theory of computation,
and human-computer interaction. Topics are
selected to complement material in the core computer
science curriculum.
Prerequisite: CSC 375.
CSC 388 Programming Languages (4 Hrs.) Design principles and implementation of computer programming
languages. Topics include syntax, data types,
control structures, storage management, and binding.
Four programming language paradigms studied: imperative,
object-oriented, functional, and logical. Languages
studied might include Pascal, C, C++, Smalltalk, Java,
LISP, and Prolog.
Prerequisite: CSC 385.
CSC 389 Introduction to Operating Systems (4 Hrs.)
Assemblers, macro processing, loaders, time sharing operating
system, process control, I/O, primary memory allocation,
and virtual memory.
Prerequisites: CSC 375 and CSC 376.
CSC 410 Current Topics for Professional Development (1-4 Hrs.) Includes materials on current topics that are identified
as being on the cutting-edge of computer science. Descriptions
change according to topic. May be repeated,
but particular topics must differ. See current course
schedule for prerequisites.
Note: CSC majors need prior approval to apply this course to their degree requirements.
CSC 470 Topics in Computer Science (1-4 Hrs.) Various topics; description changes according to topic offered.
May be repeated for an indefinite number of hours,
but particular topics must differ. See course schedule for
any prerequisites.
CSC 472 Introduction to Database Systems (4 Hrs.) Examination of file organizations and file access methods.
Studies various data models including relational, hierarchical,
network, and object-oriented. Emphasis
given to the relational data model. SQL, the data definition
and manipulation language for relational databases,
is described.
Prerequisite: CSC 375.
CSC 476 Introduction to Microprocessors and Computer Architecture (4 Hrs.)
Analysis and synthesis of combinational and sequential
circuits, counters, and decoders. Details of computer organization
as applied to microcomputers. Time permitting:
control unit design, microprogramming, I/O channels,
and memory systems.
Prerequisite: CSC 376.
CSC 478 Software Engineering Capstone (4 Hrs.) Study of the software life cycle with emphasis on design,
documentation, and implementation. Team projects and
technical communication skills are emphasized. Students
should take this course within their last 12 hours of
CSC course work.
Prerequisite: CSC 385.
CSC 479 Introduction to Artificial Intelligence (4 Hrs.) Problem solving methods, data representation and list
processing, state-space search strategies, game playing
programs, knowledge representation, logic and theorem
proving, question answering systems, and natural language
processing.
Prerequisite: CSC 375
CSC 481 Introduction to Computer Graphics (4 Hrs.) Basic concepts, display hardware and techniques, raster
graphics, 3-D graphics, and processing of pictorial information.
Prerequisites: CSC 375.
CSC 483 Introduction to Computer Networks (4 Hrs.) Network architectures, the ISO reference model, network
design, terminal handling, virtual circuits, datagrams,
protocols, routing algorithms, and local area networks.
Prerequisite: CSC 376.
CSC 484 Introduction to Parallel Processing (4 Hrs.) Familiarizes students with the broad field of parallel
computing and parallel algorithms, while giving handson
experience with computing on a parallel architecture.
Prerequisite: CSC 376.
CSC 485 Object-oriented Design (4 Hrs.) Study of object-oriented design and programming to
solve problems. Topics include classes, inheritance, polymorphism,
design notations, development environments,
and a survey of languages. Programming languages may
include C++, Java, and Smalltalk.
Prerequisite: CSC 385.
CSC 550 Master's Project/Thesis (4 Hrs./1 Hr.) An individual study to demonstrate the ability to formulate,
investigate, and analyze a problem and to report results.
Written report and oral presentation are required. Guidelines
for completing this requirement are available from
the CSC program and must be consulted before any work
is begun. May be repeated but only four hours will count
toward the degree.
Prerequisite: Approval of the
project/thesis supervisor.
Note: If the project/thesis is not
completed during the initial four-hour enrollment, students
must register for one hour on an audit basis in all
subsequent semesters until the project/thesis is completed.
CSC 570 Advanced Topics in Computer Science (4 Hrs.) Topics vary. May be repeated for an indefinite number of
hours, but particular topics must differ. See course
schedule for any prerequisites.
CSC 572 Advanced Database Concepts (4 Hrs.) Study of the implementation of relational database management
systems. Topics include database design algorithms,
query implementation, execution and optimization,
transaction processing, concurrency control, recovery,
distributed query processing, and database security.
One of the following advanced database topics will also
be discussed: deductive databases, parallel databases,
knowledge discovery/data mining, data warehousing.
Prerequisite: CSC 472.
CSC 574 Operating Systems (4 Hrs.) Concurrency, mutual exclusion, process cooperation,
semaphores, conditional critical regions, deadlock,
scheduling, operating system structures, protection system
models, virtual machine concept, and system design
issues.
Prerequisite: CSC 474.
CSC 577 Software Testing and Reliability (4 Hrs.) Advanced and classic models of testing software are reviewed
and critiqued. Current practice and novel theories
of reliability are studied, using primary computer science
research literature. Some automated testing tools will be
used.
Prerequisite: CSC 478.
CSC 578 Software Engineering (4 Hrs.) Problem analysis, system requirements specification, system
design, testing methodologies, quality assurance,
software maintenance, and automated documentation
systems. Team project involving the analysis and creation
of a design specification for and formal presentation of a
significant software project.
Prerequisite: CSC 478.
CSC 581 Computer Graphics (4 Hrs.) Lighting models, ray tracing, radiosity, texture mapping,
and other advanced rendering techniques for
creating highly realistic images of three-dimensional
scenes. Contemporary and classic articles from the
computer graphics literature are studied.
Prerequisite: CSC 481.
CSC 582 Design and Evaluation of User Interfaces (4 Hrs.) Structured approach for designing graphical user interfaces
that are easy to use. Empirical evaluation techniques
are used to verify that the software is easy to use.
Prerequisite: CSC 385.
CSC 583 Network Programming (4 Hrs.) A historical and technical study of network programming.
Emphasis is placed on various network protocols
and on the TCP/IP protocol in particular. Assignments
involve writing client/server code for Unix in the C programming
language.
Prerequisite: A working knowledge of Unix and the ability to program in C.
For more information, please direct all inquiries to csc@uis.edu.
|
|