Computer Science (CSC)

Courses

CSC 225. Computer Programming Concepts I. 3 Hours.

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. Prior programming experience is recommended.

CSC 275. Computer Programming Concepts II. 3 Hours.

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. Course Information: Prerequisite: CSC 225.

CSC 302. Discrete Structures. 4 Hours.

This course is designed to introduce the participants to the topics from discrete structures that are relevant to computer science. Topics covered are not limited to number systems, sets, logic, functions and relations, combinations, permutations, probability and statistics. Course Information: Prerequisite: C or better in college algebra. This course fulfills a general education requirement at UIS in the area of Mathematics (IAI Code: M1905).

CSC 305. Entrance Assessment. 0 Hours.

Evaluation of computer science knowledge on entering the program. CSC 305 must be taken during the student's first semester of enrollment. Course Information: Credit/No Credit grading only.

CSC 315. RoboEthics. 4 Hours.

An overview across time, continents and disciplines of robots and cyborgs, which are challenging the definition of "person". Students will read contemporary literature in computer science, philosophy and science fiction, creating original works that explore policies/perspectives on potential communities that include humans and robots.

CSC 316. ECCE: Wired Perspectives. 3 Hours.

This course examines global power inequities such as global North/South, first world/third world, developed and underdeveloped communities. It promotes knowledge and appreciation of the contributions of understudied and undervalued cultures in developing countries. It examines inequalities in resources in a global context. The vehicle this course uses in this discourse is the digital divide, the dichotomy between the global wired and the global tired. Course Information: This course fulfills an Engaged Citizenship Common Experience requirement at UIS in the area of Global Awareness.

CSC 317. Software Packages. 2 Hours.

A large part of computing today is accomplished through general programs designed to handle a wide range of problems rather than through programs designed to solve a specific problem. This course covers these general programs (software packages) from the viewpoint of the task to be performed and addresses how a specific package can be used to accomplish the job. Examples are taken from spreadsheet, database, and the Windows operating system. Considerable time in the computer lab is required.

CSC 318. Computer Literacy. 4 Hours.

Introduction to computers for personal and professional use. A course of general interest, which builds 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 319. Computer Programming. 4 Hours.

An introduction to structured programming. Emphasis on control structures, simple data types including arrays, and creating simple Windows applications. Assigned problems require considerable time in the computer lab. For students who do not intend to major in computer science. Course Information: Prerequisite: CSC 318 or equivalent computer experience with Windows applications.

CSC 320. Introduction to HTML/Web Development. 4 Hours.

This course is designed to introduce a student to the principles of publishing on the World Wide Web (WWW). The course is designed to be platform independent and will enable a student to create "web pages" on any server on the Internet that runs a standard http server. The focus will be on the background code (Hyper-Text Markup Language) not on editors or programs that convert other types of documents into html.

CSC 321. Intermediate HTML Design and Usability. 4 Hours.

Introduces students to basic HTML programming and to a number HTML editors. Special emphasis will be made on the use of Dreamweaver, a Macromedia product, rated among the best HTML editors. Course Information: Prerequisite: CSC 320.

CSC 368. Systems Programming Languages. 4 Hours.

Design principles and implementation of systems programming languages. Topics include syntax data types, control structures, storage management. Four systems programming software language tools will be studied: shell scripts, Perl, PHP, SQL. Class activities and hands-on laboratories. Typical laboratories and class assignments, repetitive tasks, scheduled file maintenance, log file analysis, electronic administrator notification. Prerequisite: CSC 275.

CSC 376. Computer Organization. 4 Hours.

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. Course Information: Prerequisite: CSC 275 and CSC 302. CSC 302 may be taken concurrently.

CSC 385. Data Structures and Algorithms. 4 Hours.

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. Course Information: Prerequisite: CSC 302 and CSC 275.

CSC 387. Foundations of Computer Science. 4 Hours.

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. Course Information: Prerequisite: CSC 275.

CSC 388. Programming Languages. 4 Hours.

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 may include C#, Smalltalk, Java, LISP, and Perl. Course Information: Prerequisite: CSC 385.

CSC 389. Introduction to Operating Systems. 4 Hours.

Assemblers, macro processing, loaders, time sharing operating system, process control, I/O, primary memory allocation, and virtual memory. Course Information: Prerequisite: CSC 275.

CSC 399. Tutorial. 1-12 Hours.

Intended to supplement, not supplant, regular course offerings. Students interested in a tutorial must secure the consent of the faculty member concerned before registration and submit any required documentation to him or her. Course Information: May be repeated to a maximum of 12 hours if topics vary.

CSC 405. Exit Assessment. 0 Hours.

Evaluation of computer science knowledge on graduation. Exit assessment helps students assess the body of knowledge they've attained and helps the program revise its curriculum. CSC 405 must be taken during the student's final semester before graduation. Course Information: Credit/No Credit grading only.

CSC 410. Current Topics for Professional Development. 1-4 Hours.

Includes materials on current topics that are identified as being on the cutting-edge of computer science. Descriptions change according to topic. CSC majors need prior approval to apply this course to their degree requirements. Course Information: May be repeated if topics vary. Students may register in more than one section per term.

CSC 421. Introduction to Computer Networks. 4 Hours.

Includes CCNA1 & CCNA2 Cisco Networking Academy. Emphasis on LANs, network design, virtual circuits, protocols, routing algorithms, network hardware devices. IP addressing. Labs.

CSC 422. Routing Configuration in WAN Environment. 4 Hours.

Includes CCNA3 & CCNA4 Cisco Networking Academy. Emphasis will be placed on configuring routers and switches to operate in a secure WAN environment. Includes configuring access lists, remote access and VPNs. Course Information: Prerequisite: CSC 421.

CSC 430. Foundations of Network Security and Information Assurance. 4 Hours.

Students learn to identify system resources at risk to malicious attacks. Network tools designed to detect and prevent unauthorized access are covered. Demonstrations of tools used to assess and identify vulnerability including penetration analysis, scanners and probes are covered. Case studies and exploit scenarios give students hands-on practice reducing network security threats. Course Information: Prerequisite: CSC 421.

CSC 431. Network Security & Computer Ethics. 4 Hours.

This course introduces the basics of network security while describing how the technical decisions associated with network security interact with the values of individuals, organizations, and society. The course includes methods of avoiding, detecting, and analyzing intrusions. Students will examine tradeoffs inherent in security policies, behaviors, and protocols.

CSC 432. Hardware/Firewall Security Implementation. 4 Hours.

The course focuses on overall security processes with particular emphasis on security policy design and management. This course also provides a survey of security technologies, products and solutions. Labs focus on firewall design, installation, configuration and maintenance of firewalls. Course Information: Prerequisite: CSC 421.

CSC 433. Intrusion Detection. 4 Hours.

Topics will include network and host based intrusion, detection, intrusion detection system implementation Schemes, IP packet analysis tools, schemes for analysis including rules and anomaly detection, and attack signatures. Several IDS tools will be explored by demonstration and exercises. These tools will include Windump, Ethereal, and Snort. Case reports of various recognized attacks will be studied.

CSC 436. Secure Programming. 4 Hours.

The course introduces the secure software development process including secure applications, writing secure code that can withstand attacks, and security testing and auditing. It focuses on the security issues a developer faces, common security vulnerabilities and flaws, and security threats. The course explains security principles, strategies, coding techniques, and tools that can help make code more resistant to attacks. Students will write and analyze code that demonstrates specific security development techniques. Course Information: Prerequisite: CSC 385.

CSC 438. Systems Security and Information Assurance Capstone. 4 Hours.

This is the capstone course for the Systems Security and Information Assurance concentration in the Computer Science Bachelor's Degree. This course will provide a broad look at Information Security, examining the eight security domains as defined by (ISC)2, the sanctioning organization governing the Certified Information Systems Security Professional (CISSP) certification for information security professionals. Course Information: CSC 421 and one additional security elective.

CSC 442. ECCE: Internet in American Life. 4 Hours.

With far-ranging influences on commerce, education, news, entertainment, information, and more, the Internet has had an enormous impact on American society over the past decade. This course examines that impact with an emphasis on planning and public policy. Course Information: This course fulfills an Engaged Citizenship Common Experience requirement at UIS in the area of U.S. Communities.

CSC 452. Web Design. 4 Hours.

Learn basic principles of web design and use HTML, XHTML, XML, CSS (Cascading Style Sheets), design and critic a variety of templates, etc. Topics include elements of good design, fonts, and typography, how to use color, graphics, images, multimedia formats, web layout basics, tackling web navigation, accessibility and usability, web design software, and learn HTML, XML, and CSS. Course Information: Prerequisites: CSC 275 or equivalent computer programming experience.

CSC 453. Web Development and Programming. 4 Hours.

Learn dynamic web page creation and server-side scripting that tailors the content toward the visitor and his or her preferences. A scripting language such as PHP will be taught to enable students to access databases for dynamic content. A comprehensive overview of the basics of PHP, covering important subjects such as control structures, operators, strings and string functions, arrays and array functions, predefined variables, I/O, cookies and sessions, and more. Course Information: Prerequisite: CSC 452.

CSC 454. Client-side Scripting. 4 Hours.

Learn to create Rich Internet Applications (RIAs) using JavaScript and XML (AJAX) in a new way to create fast, responsive user interfaces, and functionalities similar to windows desktop applications. Students will learn scripting in JavaScript and basics of XML. Topics will include XML basics, JavaScript basics, JavaScript objects, JavaScript cookies, JavaScript validations, XSLT, XML parsers, XML CSS, XML DOM, XML to HTML, and XML JavaScript. Course Information: Prerequisite: CSC 453.

CSC 463. Introduction to Distributed Computing. 4 Hours.

An introduction to the fundamental concepts and principles of distributed programming techniques. Topics include Java I/O, Interprocess Communications, Distributed Computing paradigms, TCP/IP, The Socket APL, client-server paradigm, Group Communication, Distributed Objects, Internet Applications, and advanced topics. Course Information: Prerequisite: CSC 385.

CSC 465. Windows Network Administration. 4 Hours.

The purpose of this course is to provide students with an organizational and technical look at network administration. Emphasis is placed on Microsoft Windows operating system. The laboratory assignments will involve a considerable amount of hands-on installation, account management, performance monitoring, security, troubleshooting. Course Information: Prerequisite: Familiarity with computer hardware/software.

CSC 470. Topics in Computer Science. 1-4 Hours.

Various topics; description changes according to topic offered. See course schedule for prerequisites. Course Information: May be repeated if topics vary. Students may register in more than one section per term.

CSC 471. Computer Ethics for Computing Professionals. 4 Hours.

Computer ethics explores the interaction between technical decisions and human values. We also study how computing and telecommunications impact society. This class is limited to computer science majors and students with equivalent backgrounds.

CSC 472. Introduction to Database Systems. 4 Hours.

Examine of file organizations and file access methods, as well as data redundancy. Studies various data models including relational, heretical, network, and object-oriented. Emphasis given to the relational data model SQL, the data definition and manipulation language for relational databases, is described, including database security. Course Information: Course is restricted to MS CSC majors and MS DAT majors only. Prerequisites: CSC 275. Same as DAT 472.

CSC 476. Introduction to Microprocessors and Computer Architecture. 4 Hours.

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. Course Information: Prerequisite: CSC 376.

CSC 477. Usability Engineering. 4 Hours.

Provides an analysis of the science and art of graphical user interfaces. Topics will include quantitative methodologies, user interaction, design imperative. Requires extensive Visual Basic programming. Prerequisite: CSC 385.

CSC 478. Software Engineering Capstone. 4 Hours.

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. Course Information: Prerequisite: CSC 385.

CSC 479. Introduction to Artificial Intelligence. 4 Hours.

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. Course Information: Prerequisite: CSC 385.

CSC 481. Introduction to Computer Graphics. 4 Hours.

Basic concepts, display hardware and techniques, raster graphics, 3-D graphics, and processing of pictorial information. Course Information: Prerequisite: CSC 275.

CSC 484. Introduction to Parallel Processing. 4 Hours.

Familiarizes students with the broad field of parallel computing and parallel algorithms, while giving hands-on experience with computing on a parallel architecture. Course Information: Prerequisite: CSC 376.

CSC 485. Object-Oriented Design. 4 Hours.

Study of object-oriented design and programming to solve problems. Topics include classes, inheritance, polymorphism, design notations, development environments, and a survey of languages. Java is used as the implementation language. Course Information: Prerequisite: CSC 385.

CSC 499. Tutorial. 1-12 Hours.

Intended to supplement, not supplant, regular course offerings. Students interested in a tutorial must secure the consent of the faculty member concerned before registration and submit any required documentation to him or her. Course Information: May be repeated to a maximum of 12 hours if topics vary.

CSC 501. Graduate Programming Practicum. 4 Hours.

The course teaches graduate object-oriented programming and development using Java. Students learn how to write, test, and debug advanced-level object oriented programs and how to implement various data structures using Java. Some top-down design principles are covered to solve non-trivial problems.

CSC 511. Fundamental Concepts of Networks for Teachers. 4 Hours.

The purpose of this course is to provide teachers with a working knowledge of how to install and teach the first semester of the Cisco Networking Academy On-line Curriculum. The first semester curriculum focuses on fundamental concepts of networks. Emphasis is placed on the OSI model, IP addressing, addresses resolution protocols, networking media, topologies, cabling and network management.

CSC 512. Fundamental Concepts of Routing for Teachers. 2 Hours.

The purpose of this course is to provide teachers with a working knowledge of how to install and teach the second semester of the Cisco Networking Academy On-line Curriculum. The second semester curriculum focuses on fundamental concepts of network routers. Emphasis is placed on the OSI model, WAN's, routing and using a router, router components, router configuration, IOS, TCP/IP, IP addressing and routing protocols.

CSC 513. Advanced Concepts of Networks and Routing for Teachers. 2 Hours.

The purpose of this course is to provide teachers with a working knowledge of how to install and teach semesters three and four of the Cisco Networking Academy On-line Curriculum. The curriculum for semesters three and four focuses on advanced concepts of networks and routers. Emphasis is placed on router configuration, configuring routers for IPX, managing network traffic with access lists, Wide Are Networking, WAN protocols, X25, frame relay, point-to-point and ISDN.

CSC 514. IT Essentials I For Teachers. 3 Hours.

The purpose of this course is to provide teachers with a working knowledge of how to install and teach the first course in a two course sequence on IT Essentials as part of the Cisco Academy On-line Curriculum. The first course of the curriculum focuses on fundamental concepts of computer hardware and software. Emphasis is placed on developing a working knowledge of the hardware components of a computer and their functionality. In the class the teachers taking the class will learn how to teach the topics listed in the attached course outline to their students. Some laboratory activities include trouble shooting, computer hardware and software and peripherals including various types of disk drives, video cards, and printers.

CSC 515. IT Essentials II For Teachers. 3 Hours.

The purpose of this course is to provide teachers with a working knowledge of how to install and teach the second course in a two course sequence on IT Essentials as part of the Cisco Networking Academy On-line Curriculum. The first course of the curriculum focuses on fundamental concepts of computer hardware and software. This second course focuses on network operating systems. Emphasis is placed on developing a working knowledge of the network operating systems and network security. In the class the teachers taking the class will learn how to teach the topics listed in the attached course outline to their students. Some laboratory activities include installing Microsoft based operating systems including Windows 2000 and XP and the free Unix based network operating system Linux. Other laboratory activities include trouble shooting network and security related problems.

CSC 521. IT Security and Data Assurance I for Teachers. 3 Hours.

Provides a comprehensive view of policy and practices used to identify the resources at risk to malicious attacks or natural disasters and the results. Surveys viruses and effective anti-virus prevention policies. Will include use and demonstration of several instruments used to assess vulnerability including penetration analysis, scanners, and probes. Will also use case studies to identify when an institution should look to outside consultants for assessment and vulnerability testing. Course Information: Restricted to Online Graduate Certificate In Information Assurance.

CSC 522. IT Security and Data Assurance II Access Control Systems and Methodology for Teachers. 3 Hours.

Provides a comprehensive examination of a multi-vendor approach to access control and management of an enterprise network. Examines directory services, file security, single logon solutions and database security. Examines a holistic approach to data protection and privacy. Introduces the deployment of access management protocols including TACACS+, Radius, and Kerberos. Other topics examined include auditing, and device monitoring using SNMP and RMON. Course Information: Restricted to Online Graduate Certificate In Information Assurance.

CSC 523. Computer Forensics for Teachers. 3 Hours.

Deals with the preservation, identification, extraction, documentation and interpretation of computer data. Topics covered include evidence handling, chain of custody, collection, preservation, identification and recovery of computer data. Course Information: Restricted to Online Graduate Certificate In Information Assurance.

CSC 524. Information Assurance System Design and Analysis for Teachers. 3 Hours.

The capstone design course for the Graduate Certificate in Information Assurance. Emphasizes a group approach to information assurance system design and data collection. Cohort groups will be required to develop a comprehensive plan for protecting systems against intrusion and for collecting evidence from systems that have been intruded upon. The plan will include operational policies and procedures. Students are also required to implement the plan using tools including TACACS+, Radius, Kerberos, encryption software, and software tools used in evidence collection. Course Information: Restricted to Online Graduate Certificate on Information Assurance.

CSC 525. Information Assurance Graduate Portfolio. 3 Hours.

Participants in the Graduate Certificate in Information Assurance must complete a comprehensive portfolio. The portfolio will document their experiences with the certificate program and how they plan to incorporate the topics covered in the certificate program into the courses they teach. The portfolio will document how program participants have mastered the material covered in each course. Guidelines for completing the requirement are available at csc.uis.edu/ and should be consulted by the certificate program participants. Course Information: Restricted to Online Graduate Information Assurance.

CSC 526. Security Awareness for Teachers. 1 Hour.

This short course is designed to provide an overview of the consequences of information assurance and privacy for the user of information systems. The course provides a practical consideration of all aspects of network security. Course topics include legal aspects of information privacy, security awareness, and roles and responsibilities of end users. Examines several case studies that will illustrate the types of problems that can occur if good systems security measures are not followed. Course Information: Restricted to Online Graduate Certificate in Systems Security.

CSC 527. Network Security I for Teachers. 3 Hours.

Introduction to Network Security course focusing on the overall security processes with particular emphasis on security policy design and management. This course will also provide a survey of security technologies, products and solutions. Includes hands-on exercises focusing on firewall design, installation, configuration, & maintenance AAA implementation using routers and firewalls. Virtual Private Networks will also be introduced using routers and firewalls. Course Information: Restricted to Online Graduate Certificate in Systems Security.

CSC 528. Network Security II for Teachers. 3 Hours.

This course provides an introduction to the knowledge and skills needed to describe, configure, verify and manage IPSec features in VPN solutions. Also provides a multi-vendor solution to VPN design. Examination of both VBPN client and server products will prepare students to deploy VPN technologies in both site-to-site and client-to-site configurations. Surveys many of the encryption technologies including : PKI, IPSEC and #DES. Digital certificates and certificate authorities are introduced in this course. The course will also emphasize intrusion detection systems, a systematic approach to perimeter security. Course Information: Restricted to Online Graduate Certificate in Systems Security.

CSC 529. Emerging Technologies Wireless Networks for Teachers. 3 Hours.

Provides an introduction to wireless local area networks. Instruction will focus on the design, planning, implementation, operation and troubleshooting of wireless networks. It covers a comprehensive overview of technologies, security, and design best practices with particular hands-on skills. Course Information: Restricted to Online Graduate Certificate in Systems Security.

CSC 530. Security Design for Teachers. 3 Hours.

This capstone design course for the Graduate Certificate in Systems Security emphasizes a group approach to security systems design. Student cohort groups will be required to develop a comprehensive security plan based on British Standard 7799. The plans will include operational policies and procedures. Students are also required to design a secure enterprise network including multi-vendor solutions. They will use hardware and software tools to implement firewalls, email system protection, virtual private network management protocol, and remote monitoring. Course Information: Restricted to Online Graduate Certificate in Systems Security.

CSC 531. Security Graduate Portfolio. 3 Hours.

Participants in the Graduate Certificate in Systems Security program must complete a comprehensive portfolio. The portfolio will document their experiences with the certificate program and how they plan to incorporate the topics covered in the certificate program into the courses they teach. The portfolio will document how program participants have mastered the material covered in each course. Guidelines for completing the requirement are available at csc.uis.edu/ and should be consulted by the certificate program participants. Course Information: Restricted to Online Graduate Certificate in Systems Security.

CSC 540. Graduate Research Seminar. 4 Hours.

Students will investigate research and writing techniques in the field of computer science. Students must produce a formal document that demonstrates they have attained an appropriate understanding of professional ethics and research skills required of IT professionals. CSC 540 serves as the master's closure exercise and must be taken for a letter grade. NOTE: Students who have NOT made satisfactory progress in CSC 540 will be assigned a grade lower than B- and will have to register for and retake the course. Students who have made satisfactory progress in CSC 540, but have not completed the final course document can petition the Department of Computer Science to complete the remaining document by enrolling in CSC 541 Graduate Research Seminar Continuing Enrollment (zero credit hours, one billable hour) for a maximum of two consecutive non-summer semesters.

CSC 541. Graduate Research Seminar Continuing Enrollment. 0 Hours.

Refer to NOTE in course description for CSC 540. Course Information: May be repeated for a maximum of two consecutive non-summer semesters.

CSC 550. Master's Project/Thesis. 4 Hours.

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. NOTE: If the project/thesis is not completed during the initial four-hour enrollment, students must register for CSC 551 for zero credit hours (one billable hour) in all subsequent semesters until the project/thesis is completed. Course Information: Credit/No Credit grading only. May be repeated to a maximum of 4 hours. Prerequisite: Approval of the project/thesis supervisor.

CSC 551. Master's Project/Thesis Continuing Enrollment. 0 Hours.

Refer to NOTE in course description for CSC 550. Course Information: May be repeated.

CSC 560. Directed Graduate Research. 4 Hours.

Students will work under the supervision of a graduate faculty member as a member of a research team. Students will complete assigned readings, literature reviews, conduct research and report research results. Students must have approval of the graduate faculty member supervising the research to enroll in the course.

CSC 561. NoSQL Databases. 4 Hours.

Traditional data management techniques (schema-driven databases) do not meet the need to manage the varying storage techniques and technologies used for today?s data. NoSQL (Not only SQL) databases have emerged as a means of managing distributed, high-volume, complex data. This course will use a hands-on laboratory approach to explore the different types of NoSQL Databases. Course Information: Course is restricted to MS CSC majors and MS DAT majors only. Prerequisites: CSC 385 and CSC 472. Same as DAT 566.

CSC 562. Data Visualization. 4 Hours.

This course is designed to help students acquire the knowledge and skills to analyze information and, more importantly, to draw conclusions from analysis. This course is not about using advanced mathematics to solve problems. It?s about learning to use computer technology, especially visualization (graphs, histograms, pie charts), to look at and understand data in a more intuitive and visual manner. Course information: Course is restricted to MS CSC majors and MS DAT majors only. Prerequisites: CSC 385. Same as DAT 569.

CSC 563. Computer Cryptography and Digital Steganography. 4 Hours.

This course provides the fundamentals of modern cryptography and steganography. Cryptography is usually considered to be the art and science of scrambling a message in order to make it unreadable, whereas steganography is the art and science of hiding the very existence of the message. The course focuses on both theory and practice. Students will learn how to use Java to write cryptographic applications.

CSC 564. Computer Security. 4 Hours.

This course provides students with a background, foundation, and insight into the subject of Computer Security at a graduate level. It covers various attack techniques and defenses. The course surveys different threats to computer security and methods for preventing intrusions. We study how computer vulnerabilities arise and survey the controls that can reduce or block security.

CSC 570. Advanced Topics in Computer Systems. 1-4 Hours.

Topics vary. See course schedule for prerequisites. Course Information: May be repeated if topics vary. Students may register in more than one section per term.

CSC 572. Advanced Database Concepts. 4 Hours.

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. Course Information: Course is restricted to MS CSC majors and MS DAT majors only. Prerequisites: CSC 472. Same as DAT 565.

CSC 573. Data Mining. 4 Hours.

This course teaches advanced techniques for discovering hidden patterns in the rapidly growing data generated by businesses, science, web, and other sources. Focus is on the key tasks of data mining, including data preparation, classification, clustering, association rule mining, and evaluation. Course Information: Course is restricted to MS CSC majors and MS DAT majors only. Prerequisites: CSC 385. Same as DAT 551.

CSC 574. Distributed Computing. 4 Hours.

This course covers advanced topics in computer operating systems with a special emphasis on distributed systems. Topics include middleware, naming and directory services, security, remote method invocation, concurrency, transactions, replication, and message passing. Course Information: Prerequisite: CSC 389.

CSC 577. Software Testing and Reliability. 4 Hours.

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. Course Information: Prerequisite: CSC 478.

CSC 578. Software Engineering. 4 Hours.

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. Course Information: Prerequisite: CSC 478.

CSC 581. Computer Graphics. 4 Hours.

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. Course Information: Prerequisite: CSC 481.

CSC 582. Design and Evaluation of User Interfaces. 4 Hours.

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. Course Information: Prerequisite: CSC 385.

CSC 583. Network Programming. 4 Hours.

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 Java programming language. Course Information: Prerequisite: A working knowledge of Unix and the ability to program in Java.

CSC 599. Tutorial. 1-12 Hours.

Intended to supplement, not supplant, regular course offerings. Students interested in a tutorial must secure the consent of the faculty member concerned before registration and submit any required documentation to him or her. Course Information: May be repeated to a maximum of 12 hours if topics vary.