Computer Science
Office: 5057 Woodward, Suite 3010; 313-577-2477
Chairperson: Nathan Fisher
Academic Advisor: Colleen McKenney and Michael Williams
https://engineering.wayne.edu/computer-science
Mission Statement
The mission of the Department of Computer Science at Wayne State University is to provide excellence in teaching, research, public service, and leadership in the computer science profession and the community. The Department provides a high-quality, innovative, baccalaureate and graduate education that emphasizes the fundamentals of computer science as well as the most recent technological innovations, preparing students for employment and advanced studies. Students are encouraged to become involved in research programs to enhance their education and their employment opportunities. Through the use of our state-of-the-art laboratory facilities, students can conduct basic and applied research of high quality, influence, visibility, and potential community impact. The Department continues to develop cooperative research relationships within and outside the computer science discipline, as well as with industry, government and alumni, and local community organizations. This worldwide interaction with professional organizations provides our students with the highest standards, goals, and professional practices.
Research and Instructional Laboratories
The Department of Computer Science operates a number of teaching and research laboratories. Research laboratories are organized around individual fields of research interest. The teaching laboratories are supported by the Department and are available to all students for class work and research.
ARSLANTURK, SUZAN: Ph.D., Oakland University; M.S., Oakland University; B.S., Baskent University; Assistant Professor
BOSU, AMIANGSHU S.: Ph.D., M.S., University of Alabama; B.S., Bangladesh University of Engineering and Technology; Assistant Professor
BROCANELLI, MARCO: Ph.D., Ohio State University; M.E., B.E., University of Rome Tor Vergata; Assistant Professor
BROCKMEYER, MONICA: Ph.D., M.S., B.S., University of Michigan; Associate Professor
CASTRO HERNANDEZ, ALBERTO: Ph.D., University of North Texas; M.S., Instituto Tecnologico de Ciudad Madero; B.S., Instituto de Estudios Superiores de Tamaulipas; Assistant Professor (Teaching)
DONG, MING: Ph.D., University of Cincinnati; B.S., Shanghai Jiao Tong University; Professor
DONG, ZHENG: Ph.D., University of Texas at Dallas; M.S., University of Science and Technology of China; B.S., Wuhan University; Assistant Professor
DRAGHICI, SORIN: Ph.D., St. Andrews University; M.S., B.S., Politechnica University; Professor
FISHER, NATHAN: Ph.D., University of North Carolina; M.S., Columbia University; B.S., University of Minnesota; Professor and Chair
FOTOUHI, FARSHAD: Ph.D., Michigan State University; M.S., B.S., Western Michigan University; Professor
GOEL, NARENDRA S.: Ph.D., University of Maryland; M.S., Poona University; M.S., Delhi University; B.S., Agra University; Professor
GROSU, DANIEL: Ph.D., M.S., University of Texas at San Antonio; B.S., Technical University of Iasi; Associate Professor
HAN, ZHIZHONG: Ph.D., M.E., B.E., Northwestern Polytechnical University; Assistant Professor
HUA, JING: Ph.D., M.S., State University of New York at Stony Brook; M.S., Institute of Automation, Chinese Academy of Sciences; B.S., Huazhong University of Science and Technology; Professor
JANG, RHONGHO: Ph.D., University of Central Florida; Assistant Professor
JAYYOUSI, THAER: Ph.D., M.S., B.S., Wayne State University; Associate Professor (Teaching)
KHANDURI, PRASHANT: Ph.D., Syracuse University; Assistant Professor
KOTOV, ALEXANDER: Ph.D., M.S., University of Illinois at Urbana-Champaign; B.S., Tver State Technical University; Associate Professor
LU, SHIYONG: Ph.D., State University of New York at Stony Brook; M.E., Institute of Computing Technology, Chinese Academy of Sciences; B.E., University of Science and Technology of China; Professor
MOUSAVI MOJAB, SEYED ZIAE: Ph.D., M.S., Wayne State University; B.S., University of Michigan; B.A., University of Tehran; Assistant Professor (Teaching)
NASSER, HADI: M.S., B.S., University of Michigan-Dearborn; Assistant Professor (Teaching)
PALAZZOLO, THOMAS J: M.A., University of Detroit Mercy; Assistant Professor (Teaching)
REYNOLDS, ROBERT G.: Ph.D., M.S., M.A., B.S., University of Michigan; Professor
SAIFULLAH, ABUSAYEED: Ph.D., Washington University in St Louis; M.S., University of Windsor; B.S., Bangladesh University of Engineering and Technology; Associate Professor
SCHWIEBERT, LOREN J.: Ph.D., M.S., Ohio State University; B.S., Heidelberg University; Professor
WITTEN, DOUG: M.S., University of Michigan-Flint; Assistant Professor (Teaching)
XU, LIHAO: Ph.D., California Institute of Technology; M.Sc., B.Sc., Shanghai Jiao Tong University; Associate Professor
ZHONG, ZICHUN: Ph.D., M.S., University of Texas at Dallas; M.S., B.S., The University of Electronic Science and Technology of China; Associate Professor
ZHU, DONGXIAO: Ph.D., M.A., University of Michigan; M.A., Eastern Michigan University; M.S., Peking University; B.S., Shandong University; Associate Professor
CSC 1000 Introduction to Computer Science Cr. 3
Provides an overview of current computing technology, organization, and use. Topics surveyed include data representation and storage, hardware and software organization, communications technologies, ethical and security issues. Provides hands-on training in common application software, such as word processing, spreadsheets, presentation, as well as in electronic telecommunications, such as e-mail, Internet and database searches. The University database and Internet pages are emphasized. Offered Fall, Winter.
Fees: $35
CSC 1002 Personal Digital Security Cr. 3
Students learn how to reduce exposure to risks and how to identify, assess and repair infected devices. Offered Every Term.
CSC 1050 Introduction to C and Unix Cr. 2
Introduction to Unix, Unix editor, and C Programming Language. Unix development tools and fundamentals of C language discussed. No credit for computer science students after CSC 1100. Offered Every Term.
Prerequisites: MAT 1800 with a minimum grade of C- or MAT 2010-6999 with a minimum grade of C-
Fees: $35
CSC 1100 Problem Solving and Programming Cr. 4
Problem solving with algorithms, and their realization as computer programs using a structured, general purpose programming language; data types, operators, expressions, assignment, input and output, selection and repetition control structures; modularity and procedural abstraction using functions with parameters; structured data types, arrays, pointers and strings. No credit after CSC 2000. Offered Every Term.
Prerequisites: BE 1600 with a minimum grade of C- and (MAT 1800 with a minimum grade of C- or MAT 2010-6999 with a minimum grade of C-)
Fees: $35
CSC 1500 Fundamental Structures in Computer Science Cr. 4
Introduction to fundamental control and data structures in computer science such as algorithms and complexity; recursive algorithms; program correctness using the predicate calculus; reasoning about algorithms using mathematical induction; divide and conquer algorithms; recurrence relations; set properties and their computation; and computing with relations. Graph properties and their computation, and tree properties and their computation, will be covered if time permits. Offered Every Term.
Prerequisites: CSC 1100 with a minimum grade of C and MAT 2010 with a minimum grade of C-
Restriction(s): Enrollment is limited to students with a major, minor, or concentration in Computer Technology, Computer Science, Computer Science Honors, Computer Technology Honors, Information Systems Technology or Information Technology.
Fees: $35
CSC 2000 Introduction to C++ Programming Language Cr. 3
Elements of C++; arrays, pointers and references; operators; classes and objects. No credit after CSC 1100 and CSC 1101. Offered Every Term.
Fees: $35
CSC 2110 Computer Science I Cr. 4
Rigorous introduction to fundamental object-oriented concepts and techniques of computer programming using an object-oriented language. Introduction to data abstraction; design of abstract data types. Introduction to recursion; programming with generic data types; inheritance; polymorphism; and exception handlers. Concepts applied to console programs and event-driven programming using a simple graphics API. Offered Every Term.
Prerequisites: CSC 1100 with a minimum grade of C and MAT 2010 with a minimum grade of C-
Restriction(s): Enrollment is limited to students with a major, minor, or concentration in Computer Technology, Computer Science, Computer Science Honors, Computer Technology Honors, Information Systems Technology, Information Technology or Information Technology Honors.
Fees: $35
CSC 2200 Computer Science II Cr. 4
Design and implementation of fundamental abstract data types of computer science (such as stacks, queues, trees, lists, hashing, and graphs), using an object-oriented language. Programming requirements include the implementation of abstract data types using arrays and dynamic links; recursion; sorting and searching; hashing; and string processing. Introduction to algorithm analysis. Offered Every Term.
Prerequisites: CSC 1500 with a minimum grade of C, CSC 2110 with a minimum grade of C, MAT 2010 with a minimum grade of C-, and BE 1200 with a minimum grade of C-
Fees: $35
CSC 3010 Ethics in Computer Science Cr. 3
Students will study the ethical and legal issues that arise with the usage and development of computing technology. Students will learn the responsibilities of the computer professionals and how to make appropriate decisions when faced with legal and ethical issues in computing. Offered Every Term.
Prerequisites: CSC 2110 with a minimum grade of C
Restriction(s): Enrollment is limited to students with a major in Computer Science, Computer Science Honors, Information Technology or Information Technology Honors.
CSC 3020 Java Programming Cr. 3
Introduction to the fundamentals of programming using Java. Topics include: object-oriented programming, classes, constructors, flow control statements, data types, methods, inheritance, data hiding, abstraction, exceptions, file I/O, Java GUI, and Java packages. Offered Every Term.
Prerequisites: (MAT 1800 with a minimum grade of C-, MAT 2010 with a minimum grade of C-, or MAT 2020 with a minimum grade of C-) and CSC 2110 with a minimum grade of C
CSC 3100 Computer Architecture and Organization Cr. 4
Organization and architecture of computer systems. Topics include: digital logic and digital systems; machine-level representation of data and programs; assembly level machine organization and programming; register-level description of computer execution and the functional organization of a computer; role and function of programming languages, libraries and operating systems; performance evaluation; systems programming. Offered Every Term.
Prerequisites: CSC 2200 with a minimum grade of C and MAT 2010 with a minimum grade of C-
Fees: $35
CSC 3110 Algorithm Design and Analysis Cr. 3
Formal techniques to support design and analysis of algorithms: underlying mathematical theory and practical considerations of efficiency. Topics include asymptotic complexity bounds, techniques of analysis, algorithmic strategies, advanced data and file structures, and introduction to automata theory and its application to language translation. Offered Every Term.
Prerequisites: BE 2100 with a minimum grade of C-, CSC 1500 with a minimum grade of C, CSC 2200 with a minimum grade of C, MAT 2250 with a minimum grade of C-, and MAT 2020 with a minimum grade of C-
CSC 3200 Programming Languages Cr. 3
History and overview of programming languages, virtual machines, representation of data types; sequence control; data control, sharing and type checking; run-time storage management; language translation systems; programming language semantics; programming paradigms. Offered Yearly.
Prerequisites: CSC 2200 with a minimum grade of C- and MAT 2010 with a minimum grade of C-
CSC 3400 Human-Computer Interaction Cr. 3
User interface design, usability, evaluation, user-centered design. Offered Intermittently.
Prerequisites: CSC 2110 with a minimum grade of C
Fees: $10
CSC 3750 Introduction to Web Technology Cr. 3
Understanding the Internet using several access methods; required software and tools. Topics include: e-mail, FTP, Telnet, Gopher, Archie, Newsgroups, WWW, HTML, CGI and PHP scripting and how to create an active web site. Laboratory exercises required. No credit after CSC 5750. Offered Fall, Winter.
Prerequisites: CSC 1100 with a minimum grade of C
CSC 4110 Software Engineering Cr. 4
Software life cycle; software requirement analysis; software system design; software implementation and testing; software maintenance; team programming; ethics and programmers. Offered Every Term.
Prerequisites: CSC 2200 with a minimum grade of C, CSC 3020 with a minimum grade of C-, and (MAT 2010 with a minimum grade of C- or MAT 3430 with a minimum grade of C-)
Fees: $45
CSC 4190 Computer Network Systems and Applications Cr. 3
With no prior networking knowledge required, this course provides a full overview of computer networking. A top-to-bottom approach is leveraged to understand essential network concepts and protocols, from high-level applications to low-level operational functions, including HTTP, TCP/IP, routing, LAN, wireless, etc. Moreover, you will learn socket programming for data communication. Offered Fall, Winter.
Prerequisites: CSC 2110 with a minimum grade of C and EET 2720 with a minimum grade of C
Restriction(s): Enrollment is limited to students with a major in Information Technology or Information Technology Honors.
CSC 4290 Introduction to Computer Networking Cr. 3
Introduction of topics such as network architecture, multiple access control, packet switching, routing and flow control, congestion control and quality-of-service, Internet protocols, and elements of distributed computing. Offered Yearly.
Prerequisites: CSC 2200 with a minimum grade of C- and CSC 3100 with a minimum grade of C-
Restriction(s): Enrollment is limited to Undergraduate level students.
CSC 4310 IT Software Management Cr. 3
Covers 12 disciplines of systems management in the approximate order in which they became prevalent and integral to an infrastructure’s operation. In doing so, it will cover the people, process, and technology aspects of systems management. The people discussion shows the importance of executive support, customer service, and other management aspects of delivering and supporting IT services. The process issues of systems management are addressed through study of IT infrastructure library (ITIL) processes. The technology aspect covers several key developments that enable these disciplines to be implemented more productively including process automation. Offered Every Term.
Prerequisites: CSC 2110 with a minimum grade of C
CSC 4320 Systems Administration Cr. 3
Deployment and maintenance of modern computer systems in an operational environment. Conceptual knowledge and practical experience. Topics include: architectures, heterogeneous systems, authentication and security, network services including firewalls, storage services, performance analysis and tuning, management and configuration of services and system resources, system initialization, drivers, cross-platform services, policies and procedures. Offered Every Term.
Prerequisites: CSC 2110 with a minimum grade of C
CSC 4330 Mobile Application Development Cr. 3
Covers the primary aspects of application development for mobile devices running the Android operating system. Offered Every Term.
Prerequisites: CSC 2110 with a minimum grade of C and CSC 3020 with a minimum grade of C-
CSC 4420 Computer Operating Systems Cr. 4
Operating system services; file systems; CPU scheduling; memory management; virtual memory; disk scheduling; deadlocks; concurrent processes. Offered for undergraduate major credit only. Offered Every Term.
Prerequisites: CSC 2200 with a minimum grade of C and CSC 3100 with a minimum grade of C-
Fees: $35
CSC 4500 Introduction to Theoretical Computer Science Cr. 3
Finite automata and regular expressions; context-free grammars; pushdown automata; Turing machines; hierarchy of formal languages and automata; computability and decidability. Offered Every Term.
Prerequisites: (CSC 2200 with a minimum grade of C or CSC 5050 with a minimum grade of C) and MAT 2010 with a minimum grade of C-
CSC 4710 Introduction to Database Management Systems Cr. 3
Topics include: database concepts, ER modeling, schemas and constraints, SQL and relational algebra, web-based database applications, triggers and views, physical organization and indexing, query processing, query optimization, NoSQL databases. Offered Every Term.
Prerequisites: CSC 2200 with a minimum grade of C and CSC 3020 with a minimum grade of C-
CSC 4760 Introduction to Deep Learning Cr. 3
In this course, we will first introduce some machine learning principles, which can help us to understand how computer systems can learn something from experience. Based on this, we will discuss the topics related to deep neural networks including the basic concepts and advanced techniques. We will introduce deep learning based applications, such as representations learning for high-dimensional data, such as 3D shapes, images, and text. Moreover, we will discuss recent models for both supervised and unsupervised learning. Special emphasis will be on convolutional architectures, recurrent architectures, and different kinds of losses, unsupervised learning strategies and optimization. Offered Winter.
Prerequisites: CSC 2200 with a minimum grade of C and BE 2100 with a minimum grade of C-
CSC 4860 Introduction to Computer Vision Cr. 3
This course provides an introduction to computer vision, including fundamentals of image formation, camera imaging geometry, feature detection and matching, object detection, stereo, motion estimation and tracking, image classification, scene understanding, and some deep learning with neural networks. Offered Yearly.
Prerequisites: CSC 2200 with a minimum grade of C
CSC 4990 Directed Study Cr. 1-4
Individual study as agreed on by student and supervising faculty. Primarily for material not covered in regular courses. Offered Every Term.
Restriction(s): Enrollment is limited to Undergraduate level students.
Repeatable for 8 Credits
CSC 4992 Special Topics in Computer Science Cr. 1-3
Topics to be announced in the Schedule of Classes. Maximum of six credits may be applied toward satisfying the computer science elective, in any computer science degree program. Offered Yearly.
Prerequisite: CSC 2110 with a minimum grade of C
Fees: $35
Repeatable for 12 Credits
CSC 4995 Professional Practice in Computer Science Cr. 1
Review of computer science practical experiences resulting from participation in the cooperative work-study program. Offered Every Term.
Restriction(s): Enrollment limited to students with a class of Junior or Senior.
Repeatable for 4 Credits
CSC 4996 Senior Capstone Project Cr. 4
Satisfies General Education Requirement: Writing Intensive Competency
Development of skills for planning, managing, implementing, and documenting complex software projects. Project management techniques; software development teams; data management, privacy, and security. Offered Fall, Winter.
Prerequisites: CSC 3110 with a minimum grade of C-, CSC 4110 with a minimum grade of C-, CSC 4420 with a minimum grade of C- (may be taken concurrently), CSC 4710 with a minimum grade of C-, and ENG 3060 with a minimum grade of C-
Restriction(s): Enrollment limited to students with a class of Senior; enrollment is limited to students with a major in Computer Science, Computer Science Honors or Information Systems Technology.
Fees: $35
CSC 4999 Honors Thesis Cr. 3-6
Independent study under supervision. Offered Every Term.
Restriction(s): Enrollment limited to students with a class of Senior.
CSC 5050 Algorithms and Data Structures Cr. 3
Introduction to problem solving methods and algorithm development; data abstraction for structures such as stacks, queues, linked lists, trees, and graphs; searching and sorting algorithms and their analysis. Not for CSC major credit. Offered for graduate credit only. Offered Yearly.
Restriction(s): Enrollment is limited to Graduate level students.
CSC 5100 Introduction to Mobility Cr. 3
Introduces mobility through giving students a comprehensive understanding of state-of-the-art engineering practices used in the autonomous vehicle industry. Students will get to interact with real data sets from an autonomous vehicle, all through hands-on projects using the open source autonomous driving simulator. Students will hear from industry experts, who work at companies like Ford and GM as they share insights about autonomous technology and how that is powering job growth within the field. Students will also be introduced to the general terminology, design considerations and smart infrastructures on mobility. Offered Winter.
Prerequisites: CSC 3100 with a minimum grade of C- and CSC 3110 with a minimum grade of C-
CSC 5250 Network, Distributed, and Concurrent Programming Cr. 3
Fundamental concepts and skills of developing networked, distributed, and concurrent applications. Topics include: inter-process communication, TCP/IP sockets programming, remote method invocation, multithreading, concurrency and synchronization. Offered Yearly.
Prerequisites: CSC 4420 with a minimum grade of C-
CSC 5270 Computer Systems Security Cr. 3
Fundamental technologies for enabling an e-society which is more predictable, more accountable, and less vulnerable to attacks. Covers three components: security requirements and protocols, cryptography algorithms, and case studies. Offered Fall.
Prerequisites: CSC 5250
CSC 5272 Principles of Cyber Security Cr. 3
Addresses the broad range of industry best practices, knowledge, and skills expected of an IT security manager or officer. Students will learn both the theory and the requirements for practical implementation of core security concepts, practices, monitoring, and compliance. Students will also learn to identify and maintain cost-effective security controls that are closely aligned with business requirements and industry standards. Offered Every Term.
Prerequisites: CSC 2200 with a minimum grade of C or CSC 3020 with a minimum grade of C-
CSC 5276 Unix Security and Shell Programming Cr. 3
This course will feature advanced Linux shell scripting which will show students how to automate specific tasks within the system while also safeguarding against bad actors from compromising the environment. This class will focus on the BASH and Bourne shells with an emphasis on learning SED, AWK and other powerful tools. The class will analyze system threats utilizing the latest in log management. Offered Yearly.
Prerequisites: CSC 5272 with a minimum grade of C-
CSC 5278 Web Security: Hacking and Defense Cr. 3
This course introduces students to web application threats both internally and externally. Malicious code can enter a system from many avenues and attackers. The students will learn both offensive and defensive strategies to thwart a verity of attacks like an SQL Injection, Cross-site Scripting (XSS), Cross Site (CSRF) and Server Side Request Forgery(SSRF). The student’s will be using industry best practices tools like BurpSuite, Wireshark, wpscan, sqlmap, RainbowCrack and Zap. The goal of the course is to learn how to make the target surface as small as possible while not impeding the throughput of the data while keeping critical infrastructure operational. Offered Yearly.
Prerequisites: CSC 5272 with a minimum grade of C-
CSC 5280 Introduction to Cyber-Physical Systems Cr. 3
Topics include: modeling, design, analysis, and implementation of cyber-physical systems; dynamic behavior modeling, state machine composition, and concurrent computation; sensors and actuators; embedded systems and networks; feedback control systems; temporal logic and model checking. Offered Yearly.
Prerequisites: CSC 3100 with a minimum grade of C- and CSC 3110 with a minimum grade of C-
Restriction(s): Enrollment limited to students in the College of Engineering.
Equivalent: ECE 5280
CSC 5290 Cyber Security Practice Cr. 3
This course will explore board security topics in the areas of network and operating systems. In particular, this course focus on providing hands-on experience leveraging various security tools, aiming to help students understand real-world security threats. It will cover both offensive and defensive methods in a laboratory environment. Students are expected to finish lab assignments using real-world exploits and defense tools. Offered Every Term.
Prerequisites: CSC 4190 with a minimum grade of C- or CSC 4420 with a minimum grade of C-
CSC 5430 Game Programming and Design I Cr. 3
Fundamentals of game programming and game design using C++, DirectX, Windows, and C#. Offered Fall.
Prerequisites: CSC 2200 with a minimum grade of C or CSC 5250 with a minimum grade of C-
Corequisite: CSC 5431
CSC 5431 Game Programming and Design I: Lab Cr. 1
Laboratory for CSC 5430. Focus on modding, or making changes to existing programs to achieve specific results. Offered Fall.
Corequisite: CSC 5430
Fees: $25
CSC 5750 Principles of Web Technology Cr. 3
History and development of the world-wide web. Techniques for authoring static and dynamic content for the world-wide web. Web security techniques. Electronic commerce on the web. Lab exercises required. Offered Fall, Winter.
Prerequisites: MAT 2010 with a minimum grade of C- and CSC 3750 with a minimum grade of C-
CSC 5800 Intelligent Systems: Algorithms and Tools Cr. 3
Introduction to basic algorithms and software tools for intelligent data representation and analysis, including: data pre-processing, data exploration and visualization, model evaluation, predictive modeling, classification methods, association analysis, clustering, anomaly detection, representing extracted patterns as expertise, tools for data mining and intelligent systems such as WEKA, CLIPS, and MATLAB. Offered Intermittently.
Prerequisites: (CSC 2200 with a minimum grade of C and MAT 2010 with a minimum grade of C-) or (CSC 5050 with a minimum grade of C and MAT 2010 with a minimum grade of C-)
CSC 5825 Introduction to Machine Learning and Applications Cr. 3
Through algorithmic investigation, brainstorming, and case analysis, students develop the skills and strategies that are necessary for effective leaning from data, including Big Data emerging from science and engineering. Offered Winter.
Prerequisites: CSC 3110 with a minimum grade of C-
CSC 5830 Computational Modeling of Complex Systems Cr. 3
Introduction to computer methods useful for modeling complex systems which are refractory to traditional methods of analysis. Emphasis on problem formulation and concrete examples drawn from computer science, engineering, chemistry, and biology. Offered Yearly.
Prerequisites: CSC 2200 with a minimum grade of C or CSC 5050 with a minimum grade of C-
CSC 5870 Computer Graphics I Cr. 3
Graphics devices, graphics primitives, 2-D transformations, windowing and clipping, modeling 3-D objects, 3-D viewing transformations, hidden surface removal, shading and color. Offered Yearly.
Prerequisites: (CSC 5050 with a minimum grade of C and MAT 2250 with a minimum grade of C-) or (CSC 2200 with a minimum grade of C and MAT 2250 with a minimum grade of C-)
CSC 5991 Special Topics in Computer Science Cr. 1-4
Topics to be announced in the Schedule of Classes. Offered Intermittently.
Prerequisites: CSC 2200 with a minimum grade of C
Repeatable for 9 Credits
CSC 6110 Software Engineering Cr. 3
Software process models; advanced software system design; software project management; software analysis; testing and performance analysis; software maintenance; reverse engineering; software reuse; software metrics; object-oriented development. Offered Yearly.
Prerequisites: (CSC 2200 with a minimum grade of C and MAT 2010 with a minimum grade of C-) or (MAT 2010 with a minimum grade of C- and CSC 5050 with a minimum grade of C-)
CSC 6220 Parallel Computing I: Programming Cr. 3
Parallel computing concepts, examples of parallel computers, parallelism in algorithms / data / programs, experiences with state of the art parallel computers. Offered Yearly.
Prerequisites: (CSC 2200 with a minimum grade of C and CSC 5050 with a minimum grade of C) or CSC 3100 with a minimum grade of C-
CSC 6272 Malware and Reverse Engineering Cr. 3
This course will equip students with the necessary background knowledge to become effective Malware Analysis and Reverse Engineering practitioners. The students will learn techniques on how to detect and dissect code with the goal of finding out exactly what the program is doing down to the byte level. The students will gain knowledge on how to handle Command and Control type of Ransomware along with viruses that are intended to take down critical infrastructure. The students will learn how to combat malware and viruses by using tools like Olydbg, Ghidra, Radare2 and NASM Shell. These programs will allow the students to view the payloads of the latest real-world malware. The students will also and gain an understanding of how industry best practices on how an attacker has spread the code and most of all, eradicate them. Offered Yearly.
Prerequisites: CSC 5272 with a minimum grade of C-
CSC 6274 Certified Penetration Testing Cr. 3
The ethical behavior expected of a cyber penetration tester is emphasized. Several applicable codes of ethics will be reviewed. Students are expected to abide by these codes of ethics, both during this course, and after the course is completed. The student will learn the business skills needed to identify protection opportunities, to justify testing activities, and to help the client organization better combat cyber threats. The student will gain deeper insight into industry best practices. Offered Yearly.
Prerequisites: CSC 5272 with a minimum grade of C-
CSC 6280 Real-Time and Embedded Operating Systems Cr. 3
Operating system design for real-time and embedded systems. Focus on scheduling, synchronization, communication, and process and memory management for time-critical and resource-constrained applications. Offered Every Other Year.
Prerequisites: CSC 4420 with a minimum grade of C-
CSC 6290 Data Communication and Computer Networks Cr. 3
Data communication fundamentals and principles governing computer communication networks. Components of networks, how they are connected; basics of design and implementation of network protocols. Offered Yearly.
Prerequisites: CSC 5250
CSC 6430 Game Programming and Design II Cr. 3
Game design methods, team development, languages for game design, debugging and testing, game platforms, memory management and I/O, game physics, character animation, AI agents, AI path programming, networking, online and multiplayer gaming. Offered Yearly.
Prerequisites: CSC 5430 with a minimum grade of C- and CSC 5431 with a minimum grade of C-
Corequisite: CSC 6431
CSC 6431 Game Programming and Design II: Lab Cr. 1
Architecture and tools for modern game platforms. Game development environment; basic aspects of game engine design, graphics engine design, use of shaders. Offered Yearly.
Corequisite: CSC 6430
Fees: $25
CSC 6500 Theory of Languages and Automata Cr. 3
Recursive and recursively enumerable languages; decidability and computability; Rice's theorem; time complexity; space complexity. Offered Fall, Winter.
Prerequisites: CSC 4500 with a minimum grade of C-
CSC 6580 Design and Analysis of Algorithms Cr. 3
Best case, worst case, and expected case complexity analysis; asymptotic approximations; solutions of recurrence equations; probabilistic techniques; divide-and-conquer; the greedy approach; dynamic programming; branch and bound; NP-completeness; parallel algorithms. Offered Fall, Winter.
Prerequisites: CSC 3110 with a minimum grade of C-
CSC 6620 Matrix Computation I Cr. 4
Background matrix algebra; linear system sensitivity; basic transformations; Gaussian elimination; symmetric systems; positive definite systems; Householder method for least squares problems; unsymmetric eigenvalue problems; the QR algorithm. Offered Yearly.
Prerequisites: (CSC 2200 with a minimum grade of C and MAT 2250 with a minimum grade of C-), ECE 3440 with a minimum grade of C-, or BE 2550 with a minimum grade of C-
CSC 6710 Database Management Systems I Cr. 3
Data models, normal forms, relational systems and SQL, query optimization, object-oriented systems, object-relational systems, student Oracle project. Offered Yearly.
Prerequisites: CSC 4710 with a minimum grade of C-
CSC 6720 Data Science Applications Development Cr. 3
Background of SQL and NoSQL databases is necessary. This course focuses on the system development life cycle of a comprehensive data science application. Students will first choose a particular domain and problem to address one of the big data challenges: volume, velocity, or variety. Students will then choose a scalable distributed computing environment to design analytical models to solve business problems. Students will finally develop their data science application using agile methodologies to plan, analyze, design, implement, and operationalize their application. Offered Yearly.
Restriction(s): Enrollment is limited to Graduate level students.
CSC 6800 Artificial Intelligence I Cr. 3
Basic concepts; topics include: recursive problem solving, knowledge representation using semantic networks and frames, state space search methods, planning and problem solving, game playing and adversarial search methods, rules and production systems (RETE networks), constraint satisfaction techniques and applications, optimization algorithms including genetic algorithms, logic programming. Implementation in Lisp and Prolog. Offered Yearly.
Prerequisites: CSC 3110 with a minimum grade of C-
CSC 6860 Digital Image Processing and Analysis Cr. 3
Review of image formation and acquisition; image transformation; image enhancement and restoration; image compression; morphological image processing; edge detection and segmentation; architecture for image processing. Offered Intermittently.
Prerequisites: CSC 3110 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate or Undergraduate level students.
CSC 6870 Computer Graphics II Cr. 3
Representing curves and surfaces; solid modeling; fractal geometry; camera models; illumination models; ray tracing; radiosity methods; transparency; texture; graphics packages. Offered Yearly.
Prerequisites: CSC 5870 with a minimum grade of C-
Fees: $20
CSC 6991 Topics in Computer Science Cr. 1-4
Current topics to be announced in the Schedule of Classes. Offered Intermittently.
Prerequisites: CSC 2200 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate or Undergraduate level students.
Repeatable for 9 Credits
CSC 6995 Internship in Computer Science Cr. 1-3
Experience in industry using tools from the computer science curriculum. Students provide a written report based on the internship experience. Offered Every Term.
Repeatable for 6 Credits