Quick Navigation

Courses

2007-2008 CSCI Graduate Course Catalog

Disclaimer: Every effort has been made to make the information on this page accurate and complete. However, in the event that there is a difference between this information and the current official NIU Graduate Catalog, the NIU catalog is the controlling authority. If this causes confusion, please contact Jim Henry (ghenry@niu.edu) for clarification.


CSCI 434X - Numerical Linear Algebra

Crosslisted as MATH 434 - 3 hours.
Roundoff errors and computer arithmetic. Direct and iterative methods for solving linear systems; norms and condition numbers, iterative refinement. Linear least squares problems: the normal equations and QR approach for overdetermined systems. Numerical methods for eigenvalues: an introduction to the QR iteration. Extensive use of computers.
PRQ: MATH 232, MATH 240, and either CSCI 230, CSCI 240 or approved equivalent, or consent of department.


CSCI 435X - Numerical Analysis

Crosslisted as MATH 435 - 3 hours.
Polynomial interpolation, numerical solutions of nonlinear equations, least squares approximation by polynomials, orthogonal polynomials, economization of power series. Numerical integration including quadrature formulae, adaptive quadrature, composite quadrature formulae, and Romberg integration. Numerical methods for initial value problems including Taylor series methods, Runge-Kutta methods, and multistep methods. The course makes extensive use of computers.
PRQ: MATH 232, MATH 240, and either CSCI 230, CSCI 240 or approved equivalent, or consent of department.


CSCI 461 - Techniques of Computer Programming and Algorithmic Processes - 3 hours.

Advanced course in algorithmic processes and computer programming. A major higher-level language will be used in developing applications and the solutions of curren problems. Knowledge of programming is required.
PRQ: Consent of department.


CSCI 462 - Introduction to the Foundations of Computer Science - 3 hours.

Introduction to the mathematical languages, automata theory, and the theory of recursive functions and computability.
PRQ: MATH 232 or MATH 240, and CSCI 230, or CSCI 240,or consent of department.


CSCI 464 - Data Structures - 4 hours.

In-depth study of the theory and the programming techniques related to the storage and management of various forms of data. Programming assignments require advanced understanding of asssembler language. Extensive laboratory work.
PRQ: CSCI 360 or consent of department.


CSCI 465 - External Data Structures - 4 hours.

Formal organization of files, organization techniques using direct access, and indexed sequential and sequential files. COBOL topics, Job Control Language, and access methods and utilities with applications to Computer Science. Extensive laboratory work.
PRQ: CSCI 360, or consent of department.


CSCI 466 - Database/Data Communications Software - 4 hours.

Software development in a representative current database and an on-line interactive teleprocessing system. Extensive laboratory work.
PRQ: graduate standing or consent of the department.


CSCI 467 - Introduction to Systems Design and Analysis - 4 hours.

Phases of the systems development life cycle and the tools used by the analyst in planning, specifying, and implementing a complex computer-based system. Related topics include documentation standards, interaction with users, and design of interfaces. Assignments include at least one major group project.
PRQ: graduate standing or consent of the department.


CSCI 468 - Systems Programming - 4 hours.

Detailed study of systems programming on a third-generation computer. Emphasis on the logical organization of the computer used. Extensive laboratory work.
PRQ: CSCI 464  or consent of department.


CSCI 480 - Theoretical Operating Systems - 4 hours.

Principles and practices of modern operating system design. Includes file systems organization; multi-tasking; windowing interfaces such as Windows or OS/2; interprocess communication, including communications across a network; server-client models of processing.
PRQ: CSCI 330 or CSCI 463, and either CSCI 440 or CSCI 464, or consent of department.


CSCI 521 - Parallel Processing - 3 hours.

Principles of parallel computation and advanced computer architectures. Topics include vector processors, multiprocessors, concurrency control, parallel programming environments, and software support.
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 530 - Computer Networks - 3 hours.

Basic principles concerning the technology and architecture of data and computer communications. Focus on design approaches and standards with emphasis on applications in specific areas of current technology.
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 531 - Network Applications Programming - 3 hours.

Principles used to develop networking software and case studies of existing network applications. Includes principles of sockets programming and alternative strategies of network programming. Assignments include implementing several programming projects on a UNIX-based systems.
PRQ: CSCI 530 or consent of department.


CSCI 540 - zOS Assembler and Data Structures - 3 hours.

Programming in a modern mainframe assembler language and study of related data structures. Internal and external subroutines, conditional assembly, and the macro language. Implementation of complex data structures in assembler. Extensive laboratory work.
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 541 - Enterprise Operating Systems - 3 hours.

Detailed study of a modern enterprise operating system. Processes and threads, including multitasking syncronization, interrupt handling, file systems, and memory management. Emphasis on implementation, with extensive laboratory work.
PRQ: CSCI 540.


CSCI 542 - Enterprise Networking Applications and Services - 3 hours.

Study of network technologies and network applications utilized by a corporate enterprise, and the strategies for designing, implementing, and securing complex, enterprise-level networks. Scalability. Adoption of and compliance with standards.
PRQ: CSCI 565.


CSCI 545 - Neural Networks - 3 hours.

Topics include Hopfield networks, back propagation, competitive learning, the Kohonen feature map and counterpropagation. Applications and examples provided, and future directions for these networks discussed.
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 550 -Principles Of Computer Security - 3 hours.

Survey of security considerations as they apply to computer and information systems. Topics include access control, security models and architecture, physical security, networking security, cryptography, disaster mitigation and recovery, and legal and ethical issues.


CSCI 552 - Telecommunications And Networking Security - 3 hours.

Survey of security threats and countermeasures as they apply to a telecommunication and networking system. Topics covered include network security threats, security protocol and implementation, firewall design, wireless network security, and network security architecture. PRQ: CSCI 550.


CSCI 554 -Computer Security Management - 3 hours. 

Survey of security considerations as they apply to the management of business processes and information. Topics include planning, policies, protocols of security practices, access models and frameworks, incident response plans, asset protection and recovery.  PRQ: CSCI 550.


CSCI 559 -CISSP Review - 3 hours.

Preparation for the Certified Information Systems Security Professional certification exam. Topics include the CISSP exam ten domain areas.


CSCI 561 - Techniques of Computer Programming and Algorithmic Processes - 3 hours.

Advanced course in algorithmic processes and computer programming. A major higher-level language used in developing applications and the solutions of current problems. Knowledge of programming is required.
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 562 - Analysis of Computer Science Systems - 3 hours.

Detailed and in-depth analysis of large and complex computerized Computer Science systems.
PRQ: CSCI 467 or consent of department.


CSCI 563 - Systems Design and Analysis - 3 hours.

Design, implementation, and control of computer-based Computer Science systems. Topics include system and program specifications, language selections, forms and file design, maintenance and documentation requirements, and interface with computer users.
PRQ: CSCI 467 or consent of department.


CSCI 564T - Data Structures - 4 hours.

In-depth study of the theory and the programming techniques related to the storage and management of various forms of data. Programming assignments require advanced understanding of assembler language. Extensive laboratory work.
PRQ: CSCI 360, CSCI 540 or consent of department.


565 -Survey and Topics In Enterprise Computing - 3 hours. 

Formal data file organization, job control languages, file access methods, and utilitiesApplications to the mainframe environment. Survey of topics relevant to the Enterprise Environment including issues of integration of diverse system components, security, and scalability.
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 566 -Databases - 3 hours.

Software development in a representative current database system. Extensive laboratory work.
PRQ: Admission to the graduate program in computer science or consent of department.
Note: as of Fall 2007 this is taught under the old number CSCI 466.


CSCI 567T Introduction To Software Engineering - 3 hours.

Phases of the systems development life cycle and the tools used by the analyst in planning, specifying, and implementing a complex computer-based system. Related topics include documentation standards, interaction with users, and design of interfaces. Assignments include at least one major group project.
PRQ: Admission to the graduate program in computer science or consent of department.
Note: as of Fall 2007 this is taught under the old number CSCI 467.


CSCI 567 - Applied Systems Programming - 3 hours.

See CSCI 667.


CSCI 568T - Systems Programming - 4 hours.

Detailed study of systems programming on a third-generation computer. Emphasis on the logical organization of the computer used. Extensive laboratory work.
PRQ: CSCI 540 or consent of department.


CSCI 568 - Advanced Systems Programming - 3 hours.

See CSCI 668.


CSCI 569 - Software Engineering - 3 hours.

Topics in improved programming technology, data structures, and analysis of algorithms. Focus on problems encountered in the design and implementation of large software systems. Includes both individual and group programming projects.
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 570 - Simulation Methods - 3 hours.

Modeling and simulation concepts. Topics include generating pseudo random numbers and data, writing simulation programs in a general purpose programming language such as C and in a special purpose simulation language such as GPSS, and interpreting simulation results using statistical analysis techniques.
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 575 - Web Development - 3 hours.

Practical examination of Web application development. Technical topics include HTML, Cascading Style Sheets, JavaScript, and cross-browser compatibility. Aesthetic topics include designing an effective user interface with color, graphics, navigation and related topics. Extensive laboratory work.
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 577 - Pattern Recognition Algorithms and Applications - 3 hours.

Concepts, algorithms of pattern recognition, and applications in various domains. Topics include pattern clustering and classification, feature extraction, and selection. Applications include automatic image recognition and intelligent mining of biomedical data. 
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 579 - Distributed Systems - 3 hours.

Design and analysis of distributed systems. Concurrency and distributed communication, fault tolerance, security, distributed object-based systems, and distributed file systems. Students are required to implement several programming projects on a UNIX-based system. 
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 580 - Topics in Computer Science - 3 hours.

A. Artificial Intelligence.
B. Computer Graphics.
D. Operating System Principles and Practices.
E. Programming Language Concepts and Methods.
G. Database Theory and Applications.
J. Storage Technology and Architectures.
K. Computer Systems
M. Computer Applications
N. Programming Techniques
Q. Image Processing
U. Computer Security
V. Windows Programming

Each lettered topic may be repeated to a maximum of 6 semester hours when subject varies.
PRQ: Admission to the graduate program in computer science or consent of department.

Recent topics for CSCI 580


CSCI 581 - Principles of Operating Systems - 3 hours.

Principles and practices of modern operating system design. Includes file systems organization; multi-tasking; windowing interfaces such as Windows or OS/2; interprocess communication, including communications across a network; and server client models of processing.
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 588 - Database Concepts - 3 hours.

Principles of database design. Comparison of the features of currently available database systems, as well as an introduction to current research in database technology. Role of database systems in both batch and on-line environments.
PRQ: CSCI 566, (old 466) or consent of department.


CSCI 589 - Object-Oriented Design and Programming - 3 hours.

Fundamental elements of the object-oriented model are presented. Techniques for object-oriented design studied with an opportunity to synthesize these concepts and apply the methodology through an object-oriented programming language such as C++.
PRQ: Admission to the graduate program in computer science or consent of department.


CSCI 590 - Internship - 3-6 hours.

Work in a computer-related industrial environment. Normally only available to students who have no prior computer-related work experience. May be repeated to a maximum of 6 semester credit hours.
PRQ: Consent of department.


CSCI 595 - Seminar in Computer Science - 3 hours.

May be repeated to a maximum of 9 semester hours as topic changes.
PRQ: Consent of department.

Recent topics for CSCI 595


CSCI 597 - Graduate Reading in Computer Science - 1-6 hours.

Individual reading in computer science. May be repeated to a maximum of 6 semester hours.
PRQ: Consent of department.


CSCI 599 - Thesis - 1-6 hours.

Master's thesis. May be repeated. 
PRQ: Consent of department.


CSCI 667 - Applied Systems Programming - 3 hours.

Examination of the role of the systems programmer. Topics include operating system initialization, tuning, and maintenance, as well as operation system software development. Study of current operating system emphasizing modern methods and future trends. 
PRQ: CSCI 541.
Note: this is the old CSCI 567.


CSCI 668 -Advanced Systems Programming - 3 hours.

Interpretive systems; assemblers, loaders, compilers, library monitoring systems, input-output scheduling, executive programs, job scheduling, multi-access systems, multi-programming, multi-processing.
PRQ: CSCI 541.
Note: this is the old CSCI 568.