This website uses cookies to ensure site visitors get the best experience on our website. By continuing to use this site, you accept our use of cookies and Privacy Statement. To find out more, please visit Southern University's Privacy Statement.

I agree

Undergraduate Course Descriptions

105. INTRODUCTION TO COMPUTER TECHNOLOGY (Credit, 3 Hours). This course will provide knowledge of the capabilities, limitations, and implications of computer technology. Not for credit for Computer Science Majors.
 
110/111. COMPUTER SCIENCE SEMINAR I & II (Credit 1 Hour Each).  This is a two-part sequence course designed for freshman computer science majors. These courses provide a comprehensive overview of the scope and dynamics of computer science. Topics such as the history of computing and technology, computers in modern society, computer applications, legal and moral issues of computing, and the computer scientist as a professional will be covered. A term project will also be assigned.
 
190. PROGRAMMING TECHNIQUES AND ALGORITHM DEVELOPMENT I (Credit 3 Hours). This course is the first of a two-course sequence for Computer Science majors and minors. This is a rigorous course stressing a disciplined approach to problem-solving, algorithm design, logic development, and testing and debugging of programs. This course will emphasize procedure and data abstraction, the detailed study of a programming language, and the evolution of computer hardware and software technologies. A current programming language will be used as a vehicle for expressing algorithms.
 
191. PROGRAMMING TECHNIQUES AND ALGORITHM DEVELOPMENT II (Credit, 3 Hours). The second course in the two-course sequence for Computer Science majors and minors improving the analysis and design skills is the primary intent of this course. Emphasis is placed on problem analysis and design of systems, algorithm design, and efficient coding techniques to optimize overall programming execution. Advanced techniques utilizing the language introduced in CMPS 190. Prerequisite: CMPS 190.
 
200. DISCRETE STRUCTURES (Credit, 3 Hours). Mathematical foundations of Computer Science, including fundamentals of logic, set theory, Boolean algebra, graph theory, and finite state machines. Prerequisites: MATH 140 or MATH 135
 
201. DATA STRUCTURES (Credit, 3 Hours). This course is intended to present the data structures that may be used in computer storage to represent the information involved in solving problems (heaps, hash tables, B-trees). Emphasis will be placed on concepts of data abstraction and its implementation. Also sorting and searching techniques including arrays. Prerequisite: CMPS 191.
 
240. PRACTICAL EXPERIENCE I. (Credit, 3 Hours). This course enables those students who enroll to gain firsthand experience while employing concepts and theories gained from elementary coursework in Computer Science. This experience is achieved by the student completing an assignment in business, industry, or government over one semester. Prerequisites: Sophomore classification and approval of advisor.
 
250. BUSINESS APPLICATIONS WITH COBOL (Credit, 3 Hours) Facilities will be developed in computer program structures, data processing procedures, structures of data files, and programming in a business language (COBOL). This course is designed for students of Computer Science as well as students matriculating in the College of Business. Prerequisite: CMPS 190.
 
270. C PROGRAMMING (Credit, 3 Hours) This course is designed to introduce students to the basic UNIX operating system structure and "C" programming- UNIX commands and application programs, system formats will be taught, calls, subroutines, and files. The fundamentals of "C" programming will also be taught along with applications. 
 
271. JAVA PROGRAMMING (Credit, 3 Hours)
The fundamentals of Java Programming are taught in this course. The contrast between classical and object-oriented programming will be examined, with emphasis on the latter. The latest additions to the Java language specification will be additionally covered. A comparison between C++ and Java will also be discussed, to develop an appreciation of the rationale for the emergence of these two object-oriented languages. Prerequisite: CMPS 191.
 
285. SYSTEM ADMINISTRATION AND MAINTENANCE (Credit, 3 Hours). This course will discuss the following topics: PCs’ hardware; troubleshooting, repairing, and maintaining; operating systems and software; networking; security, and operational procedure. The theoretical and practical hands-on use the TestOut’s LabSim gained in this course will prepare students to handle the most common and everyday PCs, networking, and security issues.  
 
290. MICROCOMPUTER APPLICATIONS IN BUSINESS (Credit, 3 Hours). Overview of the historical development of microcomputers in business. The focus is on the application and use of operating system commands, word-processing, spreadsheet database managers, and graphics, desktop publishing, and presentation managers for business. Not for Credit for Computer Science Majors.
 
291. ADVANCED TECHNIQUES USING SPREADSHEETS (Credit, 3 Hours). This course consists of using a software package to enhance business finance concepts such as financial amortization schedules, trend lines, forecasting, and integrating other software packages. Not for credit for Computer Science Majors. 
 
300. PROGRAMMING LANGUAGES (Credit, 3 Hours). This course is intended to survey the significant features of existing programming languages with particular emphasis on underlying concepts abstracted from these languages. The structure of simple statements, the structure of algorithmic languages, list processing, and string manipulation languages including procedural, object-oriented, logic programming, and functional languages. Prerequisite: CMPS 201 and admission to the department.
 
302. COMPUTER ORGANIZATION (Credit, 3 Hours). Understanding the behavior of elementary computer hardware. Content of course deals with two-state logic, flip flops, implementation of binary arithmetic, elementary Boolean algebra, and elementary computer design. Addressing modes; implementation of a data path; interfacing processors and peripherals. Prerequisites: CMPS 191 or CMPS 200 and admission to the department.
 
305. SOCIAL NETWORKING (Credit, 3 Hours). This course introduces students to a variety of existing, new, and emerging concepts, strategies, and technologies utilized in today's online environment. It covers various social networking platforms, content, tools, and related security and privacy issues in social media. Students will learn how to use social media to reach personal and professional goals.
 
310. GAME PROGRAMMING (Credit, 3 Hours). This course introduces students to the design and implementation of video games.  Topics include basic game artificial intelligence, storyboarding, graphics, and animation programming and sound. This course will require significant programming. This course will be extremely hands-on to successfully implement most of the material covered in the course. The final project of the course will be the implementation of a video game. Prerequisite: CMPS 201
 
312. PYTHON IN SCIENTIFIC APPLICATIONS (Credit, 3 Hours). The course will cover various features of the Python language by developing skills for creating object-oriented applications. The students will learn to write a complete Python program to solve their computing and data analytics problems. This course first introduces the student to the fundamentals of data storage, input and output, control structures, functions, sequences and lists, file I/O, and objects that are created from standard library classes. Then, the student learns to write Python programs to develop classes, and recursive functions, and finally, develop simple event-driven GUI applications. Finally, the course provides today's most compelling, leading-edge technologies that can be programmed in Python for solving domain-specific and real-world computational and data science problems such as case studies of artificial intelligence, big data, and cloud computing. Prerequisite: CMPS 190B or ENGR 130B for computing skills, and SMAT 211B for mathematics skills; or Consent of Instructor.
 
315. INFORMATION SYSTEMS (Credit, 3 Hours). This course is designed to explore the structure, classification, features, and methodologies of modern computer-based information systems. The various aspects of data storage, data mining, information retrieval, transaction processing, and business analysis will be emphasized. This course is designed to complement Systems Analysis and Design. Prerequisite: CMPS 202 and Consent of Instructor.
 
318. COMPUTER ANIMATION (Credit, 3 Hours). This course introduces students to the design and implementation of animations.  Both programming and utilization of animation software will be covered with an emphasis on the latter.  Topics include the history of animation and computer animation, understanding elemental topics in physics and geometry related to 3D animation, and understanding 3D computer animation techniques and algorithms. This course will require the use of 3D rendering software such as Maya, Blender, or Unity. This class will also cover the basics of animation programming using Java and OpenGL programming. This course will be extremely hands-on to successfully implement most of the material covered in the course. The final project of the course will be the implementation of a computer animation project.
 
322. FUNDAMENTALS OF DATA SCIENCE (Credit, 3 Hours). The course will introduce the field of data science in a practical and accessible manner, using a hands-on approach that assumes no prior knowledge of the subject. The course will teach students to think critically about data in all forms and develop their quantitative skills, including data visualization, statistical data analysis, modern data collection, and the use of data for predictions and modeling of real-world problems. The course provides students the knowledge of foundational ideas and techniques of data science independently from technology, allowing students to quickly develop a firm understanding of the subject without a strong technical background. The course covers both the fundamentals of data science and the use of analytical tools to implement examples of real-life applications, including practice ranging from small to big data. This entry-level textbook is ideal for readers from various disciplines wishing to build a practical, working knowledge of data science. Prerequisite: CMPS 312, CMPS 190 or ENGR 130 for computing skills, and SMAT 211B for mathematics skills; or consent of instructor.
 
334. DIGITAL DATA NETWORKS (Credit, 3 Hours). This course will cover the standard topics in data communications and computer networks. Topics will include transmission media, analog and digital signals, analog-to-digital conversion, data transmissions, data encoding, the effect of noise, error detection and correction, multiplexing, network topologies, standards and protocols, access methods and contention strategies, and data security. Laboratory exercises will be an integral part of this course. Prerequisite: CMPS 200 and CMPS 201 and CMPS 302 or Consent of Instructor.
 
335. WIRELESS SENSOR NETWORKS (Credit, 3 Hours). This course will cover the principles of wireless sensor network protocols and basic security issues. The focus will be given to the following topics: hardware architecture of sensor mote, memory management, and power management. Students will learn about various attacks and their solutions, applications of sensor networks, and advanced topics.
 
340. PRACTICAL EXPERIENCE II (Credit, 3 Hours). This course to gain firsthand experience enables those students who enroll while employing concepts and theories gained from intermediate coursework in Computer Science. This experience is achieved by the student completing an assignment in business, industry, or government over one semester. 
Prerequisites: CMPS 300 and  Junior classification and approval of advisor.
 
350. WEB-BASED PROGRAMMING (Credit, 3 Hours). This course will give the student the skills necessary to develop WWW applications from client/server architecture. The topic includes the history and evolution of HTML; CGI, ActiveX, JavaScript, Perl, and Java Server Pages; securing Web applications, and other web programming options will be presented. Students will work on a team project to develop Web-based solutions to business problems. Prerequisites: CMPS 201 or Consent of Instructor.
 
355. CYBER FORENSICS (Credit, 3 Hours). This course will cover the introduction to the various aspects of the field of Internet/cyber forensics such as the rules and integrity of evidence, legal processes, factual reporting of the information found, and providing expert opinion in a court of law or other legal administrative proceeding and contemporary methods in the preservation, identification, extraction, interpretation, presentation, and documentation of computer evidence.
 
360. SCIENTIFIC PROGRAMMING (Credit, 3 Hours). Specialized languages and tools for vector and parallel computation will be introduced. The facility will be developed in computer design program structures, problem definition and analysis, program design, algorithmic techniques, and programming in a scientific language. Parallel approaches to matrix computations using such tools as high-performance FORTRAN and message passing interface. Designed for those students who are interested in applications to computationally intensive problems in science and engineering. Prerequisites: CMPS 191, MATH 264, and admission to the department.
 
365. COMPUTERS, INFORMATION AND SOCIETY (Credit, 3 Hours). This course will cover the policies, legal issues and legislation, professional responsibilities, and ethical issues in the discipline of Computer Science. Topics will include, but will not be limited to intellectual property, security and privacy, ethics, and Internet protocol. Prerequisites: CMPS 110, CMPS 111, CMPS 334 and admission to the department.
 
370. OBJECT-ORIENTED PROGRAMMING (Credit, 3 Hours). This course will introduce the student to the concepts underlying object-oriented programming. It reviews pointers, procedures, and structures in C. It introduces the concept of classes and objects for problem analysis, design, and solution. It covers the ANSI standard of C++, syntax, and implementation aspects with a wide range of class definitions and object manipulations. Some commercially available C++ program developments will also be discussed. Prerequisites: CMPS 201B and admission to the department.
 
371.ADVANCED OBJECT-ORIENTED PROGRAMMING (Credit, 3 Hours). This is an advanced course in object-oriented programming with JAVA and is more intense than 370. Topic includes but is not limited to sub-typing, interfaces, abstract classes, overloading and overriding, multiple and repeated inheritances, polymorphic methods, dynamic binding, genericity, parametric polymorphism, message-passing, threads, remote method invocation, and automatic memory management. Prerequisite: CMPS 370 and admission to the department.
 
372. CLOUD COMPUTING (Credit, 3 Hours). This course introduces students to the design and implementation of cloud computing solutions.  Topics include virtualization, public and private clouds, use of cloud computing resources, data centers, different cloud computing models, cloud computing storage solutions, security in cloud computing, and IBM’s Smart Cloud Computing.  This course will also investigate motivating factors, benefits, challenges, Enterprise Software as a service, and other service models of cloud computers.  This course will be extremely hands-on to successfully use or implement most of the material covered in the course.  This course will investigate cloud computing solutions such as Google App Engine and Amazon EC2 and virtualization technologies such as such as Xen and VMWare.  The final project of the course will be the implementation of a cloud computing solution. Prerequisite: CMPS 201 and admission to the department.
 
375. INFORMATION SECURITY (Credit, 3 Hours). This course introduces the students to methods of securing cyberspace is an extraordinarily difficult strategic challenge. Topics include, but are not limited to: formal specification and verification of security properties, operating system security, trust management, multi-level security, security labeling, security auditing and intrusion detection, security policy, safeguards and countermeasures, risk mitigation, covert channels, identification and authentication, password schemes, access control lists, and data fusion techniques. Prerequisites: CMPS 110, CMPS 111, CMPS 334, and admission to the department.
 
378. SOFTWARE ENGINEERING (Credit, 3 Hours) The study of the software life-cycle that different applications go through, from conception to release and maintenance. Topics include, but are not limited to software requirements, software design, critical software systems, software verification and validation, software management, legacy systems, risk management; tool support; software process; and discussion of CMM and ISO-9003. Students will be required to develop a large project in a team setting.  Prerequisite: CMPS 201 and admission to the department.
 
385. LEGAL ISSUES IN INFO TECH (Credit, 3 Hours). The student will learn about the relevance of computer crime and intellectual property laws when a network is compromised. Analyze the new laws and cases on database breaches. Evaluate the policies and procedures enterprises must implement to protect proprietary data and IT resources. A highlight of this course is a legal review of the emerging topics of honeypots and active defenses, i.e., enterprises hacking back against hackers. By the end of the course, participants will have a functional knowledge of the issues that shape information security's evolving standard of due care. A key goal is to help students factor in legal concerns when they draft enterprise IT security policies. Students will debate what the words of an enterprise policy mean from a legal perspective.
 
386. MODELING & SIMULATION (Credit, 3 Hours). Current topics in modeling and simulation include statistical models, high-performance computing and programming, simulation packages in material science and biomedical research, and result data analysis and processing. 
 
387. OBJECT-ORIENTED DESIGN PATTERNS (Credit, 3 Hours). Advanced object-oriented design and implementation based on design patterns. A theoretical framework for the basis of design pattern classification into creational, structural, and behavioral patterns; application of specific patterns (Abstract Factory, Builder, Factory Method, Adapter, Composite, Decorator, Proxy; Iterator, State, Strategy, and Template Method) to the design of software applications, to be implemented in one or more object-oriented languages. Prerequisites: CMPS 370 and admission to the department.
 
388. HUMAN-COMPUTER INTERACTION (Credit, 3 Hours). Introduction to the principles of Human-Computer Interaction in the interface design of standalone and web-based applications. The course includes discussion on psychological, physiological, cognitive, cultural, ergonomic, and design issues in computer usage. Various design and implementation methodologies will be examined contrasted and applied in applications to be developed as coursework. The course will be project-driven and students will work on various team projects, and conduct testing on aspects of learning and usage of their software. 
 
393. Mobile Client Development. (Credit, 3 Hours). Introduce the concepts involved in Mobile Client Development, discussions around why mobile, what causes a business to go mobile, the components usually used in a mobile deployment, and the general usage patterns for a mobile application. (Two perspectives: Consumer-based applications and enterprise-based applications).  Prerequisite: CMPS 191 and admission to the department.
 
394. Mobile Deployment. (Credit, 3 Hours). Introduce the concepts involved in Mobile Server Development, deployment, and other interrelated dependencies that a server environment may require.  Discussions around application development and deployment, communication methods, data exchange standards, logging, analytics, infrastructure concepts, troubleshooting, and interfacing with back-end systems will be discussed.  Where applicable, there will be a call on the difference between consumer infrastructure, and enterprise infrastructure, and a discussion about using MBAAS (Mobile Back-end As a Service). Prerequisite: CMPS 393
 
400. OPERATING SYSTEMS (Credit, 3 Hours). This course is intended to bring the student to grips with the actual programs encountered in systems programming. Operating system principles, hardware/software interface, resource management, segmentation, paging, virtual memory; operating characteristics, user service, and their limitations will be given. The overall structure of multiprogramming systems on multiprocessor hardware configurations will be treated, as well as details on addressing techniques, core management, and file system design and management. Prerequisite: CMPS 302 and admission to the department.
 
402. COMPUTER ARCHITECTURE (Credit, 3 Hours). An overview of computer systems, data representation, memory hierarchies, and storage, input/output, addressing stack architecture, pipeline architecture, microprogramming, basics of pipelines and multiprocessors, and performance evaluation. Prerequisite: CMPS 302 or consent of the instructor.
 
407. NUMERICAL METHODS (Credit, 3 Hours). This course is designed to give a strong working knowledge of applying numerical methods to solve problems. Topics include various methods to approximate a desired number, which may be a root, an integral, or a value of a function in a differential equation. All of the methods studied have numerous practical applications in science and engineering. Prerequisite: MATH 265 and admission to the department.
 
410. MACHINE LEARNING (Credit, 3 Hours). This course is designed to survey the significant features of machine learning, which is the science of getting computers to act without being explicitly programmed. The course covers the basic ideas and intuition behind modern machine learning methods and the most effective machine learning techniques including linear regression, logistic Regression, Regularization, Neural Networks, Support Vector Machines, clustering, kernel methods, Dimensionality Reduction, Anomaly Detection, Recommender Systems, reinforcement learning, and adaptive control. The student will complete numerous projects and homework to create the opportunity for an depth understanding of the field. The course provides sufficient knowledge of statistics, linear algebra, optimization, and computer science helping students to understand the key concepts of machine learning techniques. At the end of this course, the student should acquire sufficient knowledge of the field to be able to understand the machine learning problems and to be able to analyze large volumes of data at high speed to create automated systems. Prerequisite: CMPS 200 or consent of instructor.
 
412. THEORY OF COMPUTING (Credit, 3 Hours). Topics covered will be grammar, languages and productions, automata and their languages, regular sets, Turing machines, and recursive functions, effective numbering, and universal machines. Prerequisite: CMPS 200 and admission to the department.
 
415. SYSTEMS ANALYSIS AND DESIGN (Credit, 3 Hours). Provides the student with tools and techniques used in analyzing manual or automated information systems with a view toward computer implementation of these systems in terms of accuracy and efficiency. Analysis, design, and implementation phases of software systems development using a phased life cycle approach; modeling tools, and CASE software. A team approach to software development and project management. Prerequisite: CMPS 201, or consent of the instructor.
 
420. DATABASE MANAGEMENT SYSTEMS (Credit, 3 Hours). Topics include basic file organization: data structures, schemas, and subschemas, data models, relational, hierarchical, and network models, database reliability, database integrity, database protection, review of commercial database systems, programming in a database environment, and database administrator's role. Prerequisite: CMPS 201 or CMPS 300.
 
422. INTRODUCTION TO BIG DATA (Credit, 3 Hours). This course covers the knowledge of Big Data science. It serves as a senior-level course for undergraduate students. The focus will be Big Data storage, processing, analysis, visualization, and applications. State-of-the-art computational frameworks for Big Data will be introduced to students. Students will learn the essentials of Big Data management, processing, and system reliability.   Delivery of knowledge includes textbooks, lectures, labs, lab assignments, and projects. Prerequisite: CMPS201
 
425. ROBOTICS (Credit, 3 Hours). This course introduces fundamental concepts in Robotics. Basic concepts will be discussed including coordinate transformations, sensors, path planning, kinematics, feedback, and feed-forward control, stressing the importance of integrating sensors, effectors, and control. The last part of the course will focus on applying the knowledge from the initial lectures to the key approaches to mobile robot control (reactive, behavior-based, and hybrid), and briefly discuss robot learning and multi-robot systems.  In the lab, robot kits will be used in weekly exercises illustrating lecture material; the last month of the lab will be spent applying the learned material to a final project, in which the students will design and build a robot for a final competition.  This course is intended for undergraduate students with interests in Robotics, Visual Computing, and Artificial Intelligence.
 
426. NETWORK SECURITY (Credit, 3Hours). This course covers the principles of network security. The focus will be given to the following: attack methods (targeted hacking attacks, denial-of-service attacks), firewall architecture, host security, cryptography, e-commerce and email security, intrusion detection and response process, risk analysis, security architecture, control principles, and laws governing security issues. Prerequisite: CMPS 334 and CMPS 355
 
432.  DISTRIBUTED PROCESSING (Credit, 3 Hours). Topics include data communications principles, distributed processing networks, distributed databases, security, implementation, and management. Prerequisite: CMPS 334.
 
433. TELECOMMUNICATIONS (Credit, 3 Hours). Topics include communications environment, communications system components, networks and control common carriers, design of communications networks, and local area data networks. Design preparation and delivery of information, applications, and services using client/server computing over a wide-area network. Prerequisite: CMPS 334.
 
434. NETWORKS AND GRAPH THEORY (Credit, 3 Hours). The course is intended to illustrate how graph theory can be used to formulate and solve certain problems. The course consists of fundamental concepts of graph theory, some theorems concerning network flows, common and widely used algorithms for paths and trees, as well as flows and circuits. Direct computer implementation of the algorithms will be an integral part of the course. Prerequisites: CMPS 200 and MATH 233.
 
435. INTRODUCTION TO NEURAL NETWORKS (Credit, 3 Hours). Neural networks represent an emerging technology and are becoming increasingly versatile. They can solve difficult, solvable nonlinear problems using traditional methods. Inherently parallel design and the ability to interact with the environment make neural networks ideal for large applications. This course will consider the design and implementation of neural networks. Topics include neural networks as problem-solving tools; neural networks as self-organizing systems; single or multi-layered perceptions; associative memory networks; techniques in neural learning, back-propagation, and supervised and unsupervised learning. Issues related to neuro-computing hardware and neuro-VLSI implementation will be discussed. Prerequisite: Departmental Permission Only. 
 
436. PARALLEL COMPUTING AND APPLICATION (Credit, 3 Hours). This course covers parallel programming paradigms, examining core concepts, focusing on a subset of widely used contemporary parallel programming models, and providing application in materials design, and biomedical research. Topics include parallel programming principles, Dell Linux cluster, GPU and CUDA, performance tune-up of parallel codes in material science and biomedical research, and result data analysis and processing. Applications are drawn from diverse areas of science and engineering
 
440. PRACTICAL EXPERIENCE III (Credit, 3 Hours). This course enables those students who enroll to gain firsthand experience while employing concepts and theories gained from advanced coursework in computer science. This experience is achieved by the student completing an assignment in business, industry, or government over one semester. Prerequisite: Senior classification and approval of advisor.
 
445. PARALELL AND DISTRIBUTED COMPUTING (Credit, 3 Hours). This course covers basic parallel programming environments, parallel programming paradigms, and implementation (MPI and programming), focusing on a subset of widely used contemporary parallel programming models, and providing the application in materials design, and biomedical research. Topics include Dell Linux cluster, parallel programming principles, MPI, GPU, and CUDA, performance tune-up of parallel codes in material science and biomedical research, and result data analysis and processing. Applications are drawn from diverse areas of science and engineering. Prerequisites: Two semesters of calculus and some experience in programming, CMPS 190 or equivalent, and MATH 135, knowledge of Linux/Unix systems, algorithms, and basic programming language. 
 
450. CAPSTONE PROJECT PHASE I. (Credit, 1 Hour). Provide the opportunity for students to demonstrate that they have achieved the goals for learning established by the University and the Department. The course is designed to assess cognitive, effective, and psychomotor learning, and to do so in a student-centered and directed manner which requires the command, analysis, and synthesis of knowledge and skills. The capstone course described here integrates learning from courses in the major with the courses from the rest of the academic experience. It requires the application of that learning to a project which serves as an instrument of evaluation. The course fosters interdisciplinary partnerships among university departments and helps cultivate industry alliances and cooperation. Prerequisite: student must be a senior having completed all the requirements of the three years in Computer Science.
 
451. CAPSTONE PROJECT PHASE II. (Credit, 2 Hours). Provide the opportunity for students to demonstrate that they have achieved the goals for learning established by the University and the Department. The course is designed to assess cognitive, effective, and psychomotor learning, and to do so in a student-centered and directed manner which requires the command, analysis, and synthesis of knowledge and skills. The capstone course described here integrates learning from courses in the major with the courses from the rest of the academic experience. It requires the application of that learning to a project which serves as an instrument of evaluation. The course fosters interdisciplinary partnerships among university departments and helps cultivate industry alliances and cooperation. Prerequisite: The student must be a senior in his/her second semester in Computer Science and have completed CMPS 450 with a grade of C or better.
 
455. SPECIAL PROJECTS (Credit, 3 Hours). Independent project implemented under the guidance of a member of the Computer Science faculty. Prerequisite: Departmental Permission Only.
 
470. COMPUTER GRAPHICS (Credit, 3 Hours). Algorithms, analysis, and software architecture for graphical information systems are covered; mathematics and algorithms for generating pictures and storing representations of pictures; calculus and linear algebra are used and modeling of solids is introduced. Prerequisites: MATH 233 (Credit or enrolled), MATH 265, and mastery of a computer language.
 
480. ARTIFICIAL INTELLIGENCE (Credit, 3 Hours). Fundamental concepts of artificial intelligence and its various and changing technologies, including expert systems, natural language processing, computer perception and robotics, and intelligent computer-assisted instruction. Students will design and implement a semester project using development tools existing in the Department of Computer Science. Prerequisite: Consent of Instructor.
 
485. DISASTER RECOVERY (Credit, 3 Hours). Provides the student with real-world examples, and an extensive introduction to disaster recovery focusing on planning the team, planning for the disaster, and practicing the plan to make sure that, if ever needed, it will work.
 
493. FOUNDATIONS OF CRYPTHOGRAPHY (Credit, 3 Hours). This course provides a broad introduction to the cornerstones of security (authenticity, confidentiality, message integrity, and non-reputation) and the mechanisms to achieve them as well as the underlying mathematical basics. Topics include block and stream ciphers, public-key systems, key management, certificates, trusted third parties, public-key infrastructure, digital signature, non-reputation, and message authentication. Various security standards and protocols (DES, AES, PGP, and Kerberos) are introduced.
 
494. CRPTOGRAPHIC PROTOCOLS (Credit, 3 Hours). This course covers the design and analysis of secure protocols and studies different attacks and defenses against them. Topics include signature and authentication protocols, privacy, digital rights management, security protocols for wired, wireless, and distributed networks, electronic voting, payment and micropayment protocols, anonymity, broadcast encryption and traitor tracing, quantum cryptography, and visual cryptography. This course includes a project. 
 
495. ENTERPRISE SECURITY PROTOCOLS (Credit, 3 Hours). Introduction to security management of computer and network systems. Protocols, specifications, and security evaluations are discussed. Other topics include attacks, threats, viruses, and the security of buildings and facilities.
 
496. INTERNET SECURITY PROTOCOLS (Credit, 3 Hours). Topics include secret key and public key cryptography, hash algorithms, authentication, Kerberos V 4 and V5, pretty good privacy, information hiding, IPSECNPN, IPSEC key exchange, SSLITLS, PEM & S/MIME, firewall, intrusion tracing and response, worms and virus, and security measurements.