CSC - Computer Science
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
CSC 7220 Parallel Computing II: Algorithms and Applications Cr. 3
Problems in parallel algorithms: design, analysis, complexity. Cluster and grid computing: tools, programming, and applications. Offered Yearly.
Prerequisite: CSC 6220 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate level students.
CSC 7260 Distributed Systems Cr. 3
Models of distributed systems, distributed synchronization, algorithms, consistency and replication models and algorithms, fault-tolerance in distributed systems. Offered Every Other Year.
Prerequisite: CSC 5250 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate level students.
CSC 7270 Advanced Computer Security Cr. 3
Advanced topics in protecting information computer systems and data. Topics include, but are not limited to, crypto-algorithms and protocols (e.g., IDEA, Elliptic Curve Cryptosystems, and the Byzantine Generals Problem), and secure system design principles. Hands-on design project will reinforce the material. Offered Winter.
Prerequisite: CSC 5270 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate level students; enrollment limited to students in the College of Engineering.
CSC 7290 Advanced Computer Networking Cr. 3
Foundations of computer networking (e.g., performance evaluation and analysis, protocol specification and verification), latest development in network architecture and technology (e.g., wireless networks, sensor networks, peer-to-peer networks, vehicular networks). Offered Yearly.
Prerequisite: CSC 6290 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate level students.
Fees: $25
CSC 7300 Bioinformatics I: Biological Databases and Data Analysis Cr. 3
Concepts of bioinformatics; tools for storing and analysis of bioinformatics data. Offered Winter.
Restriction(s): Enrollment is limited to Graduate level students.
CSC 7301 Bioinformatics I: Programming Lab Cr. 1
Hands-on experience and exercises for CSC 7300/MBG 7300 lectures. Offered Fall.
Restriction(s): Enrollment is limited to Graduate level students.
Fees: $25
CSC 7410 Bioinformatics II Cr. 4
Biology of bioinformatics, DNA and protein sequencing, introduction of systems biology, mRNA expressions analysis, pathway and molecular machines analysis. Offered Winter.
Prerequisite: CSC 7300 with a minimum grade of C and CSC 7301 with a minimum grade of C and MGG 7010 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate level students.
CSC 7710 Database Management Systems II Cr. 3
Concurrency control, transaction processing, crash recovery, security, distributed and heterogeneous databases, data warehousing, data mining, multimedia systems, student Oracle project. Offered Yearly.
Prerequisite: CSC 6710 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate level students.
CSC 7760 Deep Learning Cr. 3
Covers the basics of deep neural networks and their applications in various AI tasks. Students will gain a considerable understanding regarding the subject and be able to apply Deep Learning to a range of problems. They will also be positioned to understand the current literature on the topic and extend their knowledge through further study. The following topics will be covered: Feed-forward Deep Neural Networks, Regularizations, Optimization methods, Convolutional Neural Networks, Sequence Modeling: Recurrent and Recursive Networks, Autoencoders and Generative Adversarial Networks and Applications in Object Detection, Natural Language Processing, Relational Reasoning, and Spatial-temporal and Graph Modelling. Programming tutorials on Python, Jupyter, TensorFlow, and Keras will also be provided. Offered Winter.
Restriction(s): Enrollment is limited to Graduate level students.
CSC 7800 Artificial Intelligence II Cr. 3
Advanced topics from these areas: machine learning techniques (inductive and deductive), neural networks and perceptrons, genetic algorithms, advanced concepts in knowledge-based system design, inexact inference, constraint satisfaction techniques and applications, object-oriented programming. Implementation in Lisp and Prolog. Offered Yearly.
Prerequisite: CSC 6800 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate level students.
CSC 7810 Data Mining: Algorithms and Applications Cr. 3
Application of various basic/advanced data mining techniques to real-world problems. Offered Winter.
Prerequisite: CSC 5800 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate level students.
Equivalent: IE 7811
CSC 7825 Machine Learning Cr. 3
Supervised learning including regression, kernel-based, tree-based, probability model based and ensemble learning; unsupervised learning including distance based and model based; Markov Chain Monte Carlo (MCMC) methods; graphical models; current topics from literature. Offered Fall.
Prerequisite: CSC 5825 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate level students.
CSC 7990 Directed Study Cr. 1-5
Provides students with an opportunity to explore topics or areas of interest not covered in the standard curriculum. Provides more flexible and personalized instruction, allowing students to work closely with a faculty member. Offered Every Term.
Restriction(s): Enrollment is limited to Graduate level students.
Repeatable for 12 Credits
CSC 7991 Advanced Topics in Computer Science Cr. 1-4
Topics to be announced in the Schedule of Classes. Offered Every Other Year.
Restriction(s): Enrollment is limited to Graduate level students.
Repeatable for 9 Credits
CSC 8260 Seminar in Networking, Distributed Systems and Parallel Systems Cr. 3
Discussion of current research papers in the fields. Offered Every Other Year.
Restriction(s): Enrollment is limited to Graduate level students.
Repeatable for 9 Credits
CSC 8710 Seminar in Database Management Systems Cr. 3
Discussion of current papers in the field. Offered Every Other Year.
Prerequisite: CSC 6710
Restriction(s): Enrollment is limited to Graduate level students.
Repeatable for 9 Credits
CSC 8800 Seminar in Machine Learning and Artificial Intelligence Cr. 3
Discussion of current papers in the field. Prospective students should have a solid understanding of machine learning models, optimization algorithms and the underlying mathematics/programming background. Offered Yearly.
Restriction(s): Enrollment is limited to Graduate level students.
Repeatable for 9 Credits
CSC 8860 Seminar Topics in Computer Vision and Pattern Recognition Cr. 3
Discussion of current papers in the field. Offered Every Other Year.
Prerequisite: CSC 7860 with a minimum grade of C
Restriction(s): Enrollment is limited to Graduate level students.
CSC 8990 Graduate Seminar Cr. 1
Discussion of current research by faculty and visitors. Offered Fall, Winter.
Restriction(s): Enrollment is limited to Graduate level students.
Repeatable for 8 Credits
CSC 8999 Master's Thesis Research and Direction Cr. 1-8
Offered Every Term.
Restriction(s): Enrollment is limited to Graduate level students.
Repeatable for 8 Credits
CSC 9990 Pre-Doctoral Candidacy Research Cr. 1-8
Research in preparation for doctoral dissertation. Offered Every Term.
Restriction(s): Enrollment is limited to Graduate level students.
Repeatable for 12 Credits
CSC 9991 Doctoral Candidate Status I: Dissertation Research and Direction Cr. 7.5
Offered Every Term.
Restriction(s): Enrollment is limited to Graduate level students.
CSC 9992 Doctoral Candidate Status II: Dissertation Research and Direction Cr. 7.5
Offered Every Term.
Prerequisite: CSC 9991 with a minimum grade of S
Restriction(s): Enrollment is limited to Graduate level students.
CSC 9993 Doctoral Candidate Status III: Dissertation Research and Direction Cr. 7.5
Offered Every Term.
Prerequisite: CSC 9992 with a minimum grade of S
Restriction(s): Enrollment is limited to Graduate level students.
CSC 9994 Doctoral Candidate Status IV: Dissertation Research and Direction Cr. 7.5
Offered Every Term.
Prerequisite: CSC 9993 with a minimum grade of S
Restriction(s): Enrollment is limited to Graduate level students.
CSC 9995 Candidate Maintenance Status: Doctoral Dissertation Research and Direction Cr. 0
Offered Every Term.
Restriction(s): Enrollment is limited to Graduate level students.
Fees: $434.8
Repeatable for 0 Credits