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.

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.

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

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

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.