University of North Carolina at Charlotte · Courses
ITCS
152 courses with the subject ITCS, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
ITCS 1101Introduction to Computer Concepts. (3) Pre- or
Corequisite(s): MATH 1100, MATH 1101, MATH 1103, MATH 1120, or MATH 1241. Introductory course that gives an overview of computer hardware and software. Primary emphasis is on productivity software (word processing, spreadsheet, and graphical presentation). These Course Descriptions | 721
ITCS 1102Advanced Internet Concepts. (3) An advanced study of the
Internet environment designed for any student who is familiar with office productivity tools and a user of Internet technologies; it addresses advanced concepts of computer literacy. Topics include: concepts of website design and how to evaluate websites; proper use of synchronous and asynchronous communication tools (e.g., chat, email, IM); issues of copyright and cyber-ethics; using the Internet to do research; and publishing via the Internet. Other topics may be added to keep the content current and relevant. Students complete extensive Internet- oriented projects to demonstrate mastery of the skills discussed in class. This course may not be taken for credit by students with a major or minor in the College of Computing and Informatics.
ITCS 1301Introduction to the Financial Services Industry. (3) An
overview of the financial services industry, including such areas as the industry components; regulatory considerations and their impact; and relations with other institutions.
MATH 1100, MATH 1101, MATH 1103, MATH 1120, or MATH 1242. A service-learning seminar course designed to emphasize the social relevance of computing. The course aims to inform non-computing specialists of computing technologies, research, and career opportunities. Seminar topics are intended to enhance disciplinary knowledge and to develop leadership skills related to using computing knowledge and skills in service to society. Emphasis placed on the basic concepts of leadership theory and its application within the computing discipline on an individual, group, and societal level. Students participat in team-based computing service-learning projects in the community, in conjunction with computing majors taking ITSC 3610. Student performance evaluation considers individual homework assignments, participation in team projects, and class participation.
ITCS 1712Introduction to Computer Science (Honors). (3) Pre- or
Corequisite(s): MATH 1120 or MATH 1241; restricted to CCI Honors students, or an acceptable score on the ITCS 1712 placement test. Introduction to algorithmic problem solving using high level programming languages. Basic programming concepts (decision making, iteration, subroutines) and data types (atomic and aggregates) will be taught in C++ and Java. Advanced concepts such as pointers, references, and polymorphism will be explored.
ITCS 2050Topics in Computer Science. (1 to 3) Prerequisite(s)
Permission of department. Topics in computer science selected to supplement the regular course offerings at the 2000 level. May be repeated for credit with permission of department. (Additionally, Students may register for multiple sections of the course with different topics in the same semester or in different semesters.)
Subject
ITCS
Type
course
Repeatable
May be repeated for credit with permission of department.
ITCS 2116C Programming. (3) Prerequisite(s): Knowledge of any other
computer programming language or permission of department. A study of the programming language C. Data types, operators, functions, program structure, file I/O, storage classes, exceptions, concurrent programming, and the preprocessor.
ITCS 2215Design and Analysis of Algorithms. (3) Prerequisite(s)
MATH 1120 or MATH 1241; ITSC 2175 or MATH 1165; and ITSC 2214. 722 | Course Descriptions Introduction to the design and analysis of algorithms. Design techniques: divide-and-conquer, greedy approach, dynamic programming. Algorithm analysis: asymptotic notation, recurrence relation, time space complexity and tradeoffs. Study of sorting, searching, hashing, and graph algorithms.
ITCS 3050Topics in Computer Science. (1 to 3) Prerequisite(s)
Permission of department. Topics in computer science selected to supplement the regular course offerings at the 3000 level. May be repeated for credit with permission of department. (Additionally, Students may register for multiple sections of the course with different topics in the same semester or in different semesters.)
Subject
ITCS
Type
course
Repeatable
May be repeated for credit with permission of department.
ITCS 3112Design and Implementation of Object-Oriented Systems3
(3) Prerequisite(s): ITSC 2214. In-depth exploration of object-oriented programming and system development. Topics include: evolution of object-oriented methodology; concept of the object-oriented approach; object-oriented programming languages; object-oriented analysis and design; the design of software for reuse; and incremental software development.
ITCS 3120Introduction to Interactive Computer Graphics3
Prerequisite(s): ITSC 2214 and MATH 2164, or permission of department. Introduction to graphics hardware; raster algorithms; event-based programming; shader programming; anti-aliasing methods; matrix e algebra for change of coordinates and 2D geometric transformations; 2D viewing transformation and clipping; 2D curves and 2D splines. ITCS 3134. Digital Image Processing. (3) Prerequisite(s): ITSC 2214, MATH 1242, and MATH 2164 with grades of C or above. Overview of fundamentals of image acquisition, representation, enhancement, segmentation, reconstruction, analysis and recognition. Image generation, viewing and perception; image transformations using the Fourier transform; spatial operations and filtering (spatial and frequency domain); image coding; lossless and lossy compression; boundary and region based segmentation; thresholding and classification; boundary and regional image descriptors; matching and neural networks; shape numbers. ITCS 3143. Operating Systems. (3) Prerequisite(s): ITSC 2214 or permission of department. Introduction to multiprogramming operating systems. Process synchronization and management of memory, devices, and files; performance evaluation. ITCS 3152. Symbolic Programming. (3) Prerequisite(s): ITSC 2214. Basic concepts of symbolic programming, including selected topics in artificial intelligence, heuristic searching, symbolic algebra, language parsing, and theorem proving.
ITCS 3190Introduction to Cloud Computing for Data Analysis3
Prerequisite(s): ITSC 2214. Introduction to the principles of cloud computing for data science applications. Focuses on distributed computing, and algorithms for scalable data processing. Topics include: parallel processing, information retrieval, knowledge discovery in databases, web search, computational advertising, and scientific data analysis. Students are expected to bring their laptops to class.
ITCS 3211Computing Leaders Team Projects. (1) (SL)
Prerequisite(s): ITCS 1610 or ITSC 3610. A service-learning course that builds upon the leadership concepts from ITSC 3610 through focused hands-on experience with service-learning projects. Students work in teams to apply computing technologies, knowledge and skills to serve community needs. May be repeated for elective credit. 2026-2027 UNC CHARLOTTE UNDERGRADUATE CATALOG
Prerequisite(s): ITCS 1610 or ITSC 3610. A service-learning course that builds upon the leadership concepts from ITSC 3610 through focused hands-on experience with service-learning projects. Companion course to ITCS 3211; students in this course serve as team leaders for the team projects undertaken by students in ITCS 3211. Students lead teams to apply computing technologies, knowledge, and skills to serve community needs. May be repeated for elective credit.
Restricted Elective Courses (9 credit hours minimum) Students must take courses from 3 of the following 4 options of courses outside of their major. [Students with a Major in Computer Science must fulfill the restricted elective courses in Psychology, Linguistics, and Philosophy. Students with a Major in Psychology must fulfill the restricted elective courses in Computing, Linguistics, and Philosophy.] Option 1 (Computing) Select one of the following: ITCS 1213 or above (excluding ITCS 1610) (3) ITSC 1213 or above (3)
ITCS 4010Topics in Computer Science. (1 to 3) Prerequisite(s)
Permission of department. Topics in computer science selected to supplement the regular course offerings at the 4000 level. May be repeated for credit with permission of department. (Additionally, students may register for multiple sections of the course with different topics in the same semester or in different semesters.)
Subject
ITCS
Type
course
Repeatable
May be repeated for credit with permission of department.
ITCS 4101Introduction to Natural Language Processing3
or ITCS 4152 - Introduction to Computer Vision (3) Artificial Intelligence Elective Courses (6 credit hours) Select two courses from the lists below. The clusters are only to indicate sub-areas. The courses selected do not need to be within one category.
Prerequisite(s): ITSC 2214. Understanding the relatively technical field of visualization from the point of view of visual communication; this course draws connections with photography, design, illustration, aesthetics, and art. Both technical and theoretical aspects of the various fields are covered, and the connections between them are investigated.
ITCS 4125Introduction to Virtual Reality and Augmented Reality3
Prerequisite(s): ITSC 2214. Introduces the basic technologies of virtual and augmented reality (VR/AR). Students learn the diverse topics of VR/AR, learn and practice core skills to develop basic VR/AR programs, and learn example VR/AR applications.
Prerequisite(s): ITSC 2214 with grade of C or above and ITSC 2181 with grade of C or above. Cross-listed Course(s): ITCS 5141. Exploration of the design, organization, and performance characteristics of modern computer systems, focusing on processing units, memory systems, and interconnects. Students will study the architectures and microarchitectures of the Central Processing Unit (CPU), Graphic Processing Unit (GPU), and Tensor Processing Unit (TPU), hardware and software threading and synchronization in CPU and GPU, memory and caching mechanisms; principles of locality of software programs; virtual memory and address translation; and system interconnects linking processors, memory, storage, and accelerators. The course also covers discrete memory systems and the role of accelerator architectures in offloading computation. ITCS 4145. Parallel Programming. (3) Prerequisite(s ITSC 3146; or permission of instructor. Parallelism is the driving force behind a wide range of applications, including database systems, web browsers, video games and Artificial Intelligence. This course introduces how to program such devices to get the most performance for your applications. Topics include: Dependency analysis; Parallel task decomposition; Shared memory parallel programming techniques; Performance analysis both theoretical and empirical; Concurrency control; Accelerator programming. ITCS 4150. Mobile Robotics. (3) Prerequisite(s): ITSC 2214 and MATH 2164. Cross-listed Course(s): ITCS 5150. An introduction to basic concepts and techniques used in mobile robotics. Topics include: mobile robot hardware, sensors and sensor data processing, planning and control, robot architectures, localization and mapping, path planning, and mobile robot applications. 724 | Course Descriptions ITCS 4151. Intelligent Robotics. (3) Prerequisite(s): ITSC 2214 and
ITCS 4158Blockchain System Architecture. (3) Cross-listed
Course(s): ITCS 5158. Prerequisite(s): ITSC 2214 and MATH 2164. Introduces students to Blockchain technology, which can be used to record and transfer digital assets, and the trustless system architecture underlying this technology. Employs a hands-on learning approach, using open-source platforms such as Hyperledger or Ethereum.
ITCS 4161Intellectual Property Aspects of Computing3
Prerequisite(s): Senior standing or permission of department. This course explores the broad field of intellectual property and the many aspects related to computing. Topics covered include software copyrights, software patents, trademarks and service marks, employment contracts, non-compete agreements, software licenses, software development contracts, preservation of digital evidence, protection of trade secrets, cyberspace law and the use of mediation in IP disputes.
3155. Introduction to entrepreneurship and the specificities of creating a computing and technology driven small business. An overview of how successful entrepreneurs learn about the marketplace, conduct financial analyses, and utilize management skills to develop entrepreneurial opportunities. Other topics include: intellectual property protection, funding options, technology business planning, and start-up structure.
Course(s): ITIS 4180. Prerequisite(s): ITSC 2214 or permission of department. Mobile platforms are at the center of attention of users and organizations nowadays. Most organizations and businesses are rapidly migrating toward the cloud and need to provide a fast and easy mechanism for users to stay connected to their services. Mobile applications are the top trend nowadays given the high variety of new mobile devices and platforms such as Apple’s iOS and Google’s Android. In this course, students are introduced to the foundations of mobile development and its unique requirements and constraints. Students design and build a variety of mobile applications with a hands-on and project-based approach.
Concentration Technical Elective Courses (6 credit hours) Select elective courses from the 3000- or 4000- levels of courses offered by the College of Computing and Informatics. Unrestricted Elective Courses, Double Major and/or Minor to Complete Requirements for Graduation Students must earn a minimum of 120 credit hours to graduate. This requirement can be fulfilled through a combination of elective courses, a minor, or a double major. The 120-credit minimum must be satisfied regardless of the specific academic path chosen (e.g., a minor combined with electives). Degree Total = 120 Credit Hours
ITCS 4236Artificial Intelligence for Computer Games3
Prerequisite(s): ITCS 3153. Application of advanced concepts and techniques in artificial intelligence for electronic game design and development. An investigation of the artificial intelligence techniques necessary for an agent to act, or appear to act, intelligently in interacti virtual worlds. Topics include: uncertainty reasoning, machine learning, perception, knowledge representation, search, and planning. Emphasis is on implementation and experimentation with the goal of building robust intelligent agents in interactive entertainment domains. Elements of multi-agent collaboration and the use of cognitive architectures in interactive computer games are also discussed. Software and Information Systems (ITIS)
ITCS 5010Topics in Computer Science. (3) Prerequisite(s)
CCI graduate standing or permission of instructor. Topics in computer science selected to supplement the regular course offerings. A student may register for multiple sections of the course with different topics in the same semester or in different semesters.
Prerequisite(s): CCI graduate standing or permission of instructor. Study of the concepts underlying various computer languages, and comparing and evaluating duate Catalog 2026-2027
ITCS 5111Introduction to Natural Language Processing3
The practical methods and techniques of natural language processing and text mining. These techniques, mainly the techniques of syntactic and semantic processing, are illustrated with specific tasks (such as: Information Extraction, Dialogue Systems, Information Retrieval, etc.). Most programming assignments are for the laptop. Selected ones could be done in the cloud (e.g., using AlchemyAPI and/or IBM Bluemix). Students are expected to bring their laptops to each class.
ITCS 5121Information Visualization. (3) Prerequisite(s): CCI
graduate standing or permission of instructor. Information visualization concepts, theories, design principles, popular techniques, evaluation methods, and information visualization applications.
ITCS 4123 Visualization and ITCS 5123 Visualization and Visual Communications Visual Communications ITCS 4145 Parallel Computing ITCS 6145 Parallel Computing ITCS 4150 Mobile Robotics ITCS 5150 Mobile Robotics ITCS 4152 Computer Vision ITCS 6159 Computer Vision For additional details on Early Entry to Graduate Programs, see the "Degree Requirements and Academic Policies" section of the Graduate Catalog and the Graduate Admissions website at gradadmissions.charlotte.edu/admissions/early-entry. For details about the full requirements for this degree program, see the program listing in the Graduate Catalog. College of Computing and Informatics | 207
Prerequisite(s): CCI graduate standing or permission of instructor. Understanding the relatively technical field of visualization from the point of view of visual communication, this course draws connections with photography, design, illustration, aesthetics, and art. Both technical and theoretical aspects of the various fields are covered, and the connections between them are investigated.
Prerequisite(s): CCI graduate standing and undergraduate computer architecture course, or permission of instructor. Cross-listed course(s): ITCS 4141. Explores the design, organization, and performance characteristics of modern computer systems, focusing on processing units, memory systems, and interconnects. Students will study the architectures and microarchitectures of the Central Processing Unit (CPU), Graphic Processing Unit (GPU), and Tensor Processing Unit (TPU), hardware and software threading and synchronization in CPU and GPU, memory and caching mechanisms; principles of locality of software programs; virtual memory and address translation; and system interconnects linking processors, memory, storage,
ITCS 5161Intellectual Property Aspects of Computing3
Prerequisite(s): CCI graduate standing or permission of instructor. Explores the broad field of intellectual property and the many aspects related to computing. Topics include: software copyrights, software patents, trademarks and service marks, employment contracts, non-compete agreements, software licenses, software development contracts, preservation of digital evidence, protection of trade secrets, cyberspace law and the use of mediation in IP disputes.
Prerequisite(s): ITCS 5230. Advanced concepts and techniques for electronic game design and development. A project-centered course where students explore complex gameplay and interactivity. Explores topics from the introductory course in more depth, such as: applying software engineering techniques to developing games, advanced game programming and scripting, networking, graphics, physics, audio, game data structures and algorithms, and artificial intelligence.
Prerequisite(s): ITCS 5231 and permission of instructor. Application of advanced concepts and techniques for electronic game design and development. Teams use engineering techniques to incorporate game programming and scripting, networking, graphics, physics, audio, game data structures and algorithms, and artificial intelligence into an electronic game. Individuals develop a complete portfolio of prior work and the course project.
ITCS 6010Topics in Computer Science. (3) Prerequisite(s)
CCI graduate standing or permission of instructor. Topics in computer science selected to supplement the regular course offerings. Students may register for multiple sections of the course with different topics in the same semester or in different semesters. May be repeated for credit with change of topic.
Prerequisite(s): ITCS 5356. Cross-listed Course(s): ITCS 8102. Like humans and animals, AI interacts with its environment by making decisions and taking actions. These interactions shape the environment and generate new observations, which must be incorporated into future decisions. Reinforcement learning provides machine learning techniques for behavior learning through these dynamic interactions. This course emphasizes practical deep reinforcement learning (DRL) algorithms, using deep neural networks to learn behaviors from high-dimensional data.
ITCS 6112Software System Design and Implementation3
(3) Cross-listed Course(s): ITIS 6112. Prerequisite(s): CCI graduate standing or permission of instructor. Introduction to the techniques involved in the planning and implementation of large software systems. Emphasis on human interface aspects of systems. Planning software projects; software design process; top-down design; modular and structured design; management of software projects; testing of software; software documentation; choosing a language for a software system.
ITCS 6116Optimization for Machine Learning. (3) Cross
listed Course(s): ITCS 8116, ECGR 6126, ECGR 8126. Optimization formulations and algorithms play a central role in modern data science, machine learning and artificial intelligence. This graduate course provides an introduction to the basics of continuous optimization, with an emphasis on scalable techniques used in data science and machine learning applications. Students study basic complexity properties of relevant optimization algorithms and their relationship with topics in machine learning such as (generalized) principal component analysis, sparse and logistic regression, regularized empirical risk minimization and the training of deep neural networks. The course also focuses on practical implementations of these algorithms and the usage of optimization modeling software which leverages state-of-the-art optimization solvers.
Prerequisite(s): ITCS 2214 or equivalent; CCI graduate standing and undergraduate course in data structures, or permission of instructor. Cross-listed Course(s): ITCS 8121. Topics in scientific and information visualization, including data and visualization foundations; human vision and cognition; categorical, quantitative and time varying data; spatial visualization; graph/tree visualization; visualization evaluation and design; visualization case studies.
Course(s): ECGR 6118 and ECGR 8118. Prerequisite(s): CCI graduate standing or permission of instructor. Image perception; image types/applications; image restoration and enhancement; edge/boundary detection; image transformation; image segmentation; statistical and syntactical pattern recognition; image information measures and compression.
ITCS 6144Operating Systems Design. (3) Prerequisite(s)
ITCS 6114 or permission of instructor. Introduction to features of a large-scale operating system with emphasis on resource-sharing environments. Computer system organization; resource management; multiprogramming; multi-processing; file systems; virtual machine concepts; protection and efficiency.
Prerequisite(s): CCI graduate standing or permission of instructor. Examines the basic design principles, concepts and algorithms that can be used to design artificially intelligent systems. Topics include: Agent models, search algorithms; game playing; constraint satisfaction problems; Markov decision processes & reinforcement learning; supervised learning; knowledge representation; logic; Bayesian & decision networks; sampling; advanced topics as time permits. Students are expected to have familiarity with high-level, general-purpose programming language such as Python; Fundamental concepts from probability theory; Basic data structures and algorithms such as queues, trees, graphs, hash tables, and sorting.
Prerequisite(s): knowledge of probability theory or permission of instructor. Cross-listed Course(s): ECGR 6165. Information theory; coding theory; Shannon's theorem; Markov process; channel capacity; data transmission codes; error correcting codes; data compression; data encryption.
Optional Concentration (9 credit hours) Students who choose to declare a concentration must take at least 9 credit hours of courses listed in that concentration (see below). Courses used to fulfill the core requirement cannot be counted for credit in an area of concentration. aduate Catalog 2026-2027
Prerequisite(s): ITCS 6166 or ITCS 6168. Advanced networking concepts and protocols related to the design, implementation, integration, and management of networking and communication systems. Topics include: topology control protocols, ad hoc routing protocols, power management protocols, distributed data processing protocols for various networking systems (Internet, wireless mesh networks, ad hoc networks, sensor networks, peer-to-peer networks).
Prerequisite(s): CCI graduate standing in CS, SIS, ECE, or Optics and a prior course in networking, or permission of instructor. An overview of mobile systems and wireless networking technologies. Emphasis on resource management, routing and quality of service at the MAC and networking layers for mobile systems. Students undertake a semester long research project to survey the research literature and identify specific challenges for cellular telecommunications, wireless LANS, ad hoc networks, mesh networks or sensor networks. ITCS 6169. Computer Vision. (3) Prerequisite(s): ITCS 3156 or ITCS 5154 or permission of instructor; CCI graduate standing and undergraduate course in linear algebra, or permission of instructor. Cross-listed Course(s): ITCS 8169. Computer Vision involves teaching machines to interpret and understand the visual world, namely images and videos. In this course, students will learn advanced computer vision algorithms applied in real-world scenarios. As a project-based curriculum, it offers hands-on experience by enabling students to implement industry- relevant computer vision algorithms. Additionally, the te Catalog 2026-2027
ITCS 6226Bioinformatics. (3) Prerequisite(s): CCI graduate
standing. Topics include: brief review of molecular biology, proteins, and their classifications, DNA, RNA, and using microarrays and gene chips for sequencing; review of computational techniques for bioinformatics, expectation maximization, Bayesian classifiers, dynamic programming, information theory and entropy analysis, Markov chain models, and neural networks; computational techniques for local and multiple sequence alignment; application of Markov chains in finding genes; using information theory to estimate binding sites, start Codon prediction; RNA secondary structure prediction; computational techniques for protein function prediction; advanced signal processing techniques in feature extraction from protein sequences.
Prerequisite(s): ITCS 6162 or permission of instructor. Continuation and extension of ITCS 6162. Information visualization in data mining and knowledge discovery, predictive data mining, mining of multimedia sources, mining of unstructured data, distributed data mining, mining of Web data/information, mining complex types of data, mining of biotechnology data, applications, and trends in data mining.
Course(s): DSBA 6322, HCIP 6322, ITCS 8322, ITIS 6322, and ITIS 8322. Prerequisite(s): CCI graduate standing or permission of instructor. Complex adaptive systems (CAS) are networked (agents/part interact with their neighbors and, occasionally, distant agents), nonlinear (the whole is greater than the sum of its parts), adaptive (the system learns to change with its environment), open (new resources are being introduced into the environment), dynamic (the change is a norm), emergent (new, unplanned features of the system get introduced through the interaction of its parts/agents), and self-organizing (the parts organize themselves into a hierarchy of subsystems of various complexity). Ant colonies, networks of neurons, the immune system, the Internet, social institutions, organization of cities, and the global economy are a few examples where the behavior of the whole is much more complex than the behavior of the parts. Examples of current research efforts are provided. Topics include: Self- organization; emergent properties; learning; agents; localization affect; adaptive systems; nonlinear behavior; chaos; complexity.
ITCS 6880Individual Study. (1 to 3) Prerequisite(s): At least
9 graduate ITCS/ITIS hours and permission of department. With the direction of a faculty member, students plan and implement appropriate objectives and learning activities to develop specific areas of expertise through research, reading, and individual projects. May be repeated for credit.
ITCS 6881Individual Study in AI, Robotics, and Gaming. (1
to 3) Prerequisite(s): At least 9 graduate ITCS/ITIS credit hours and permission of department. With the direction of a faculty member, students plan and implement appropriate objectives and learning activities to develop specific areas of expertise through research, reading, and individual projects in AI, Robotics, and Gaming. May be repeated for credit.
ITCS 6882Individual Study in Data Science (1 to 3)
Prerequisite(s): At least 9 graduate ITCS/ITIS credit hours and permission of department. With the direction of a faculty member, students plan and implement appropriate objectives and learning activities to develop specific areas of expertise through research, reading, and individual projects in Data Science. May be repeated for credit.
ITCS 6883Individual Study in Software, Systems, and
Networks. (1 to 3) With the direction of a faculty member, students plan and implement appropriate objectives and learning activities to develop specific areas of expertise through research, reading, and individual projects in Software, Systems, and Networks. May be repeated for credit.
ITCS 6991Computer Science Thesis. (1 to 3) Prerequisite(s)
Permission of department. Graduate thesis research. Detailed exploration of an area of computer science chosen for thesis research. Graded on a Satisfactory Progress/Unsatisfactory Progress or Standard Letter Grade basis each term. May be repeated for credit but no more than six credit hours may be applied to M.S. degree requirements.
Subject
ITCS
Type
course
Repeatable
May be repeated for credit but no more than six credit hours may be applied to M.
ITCS 8050Topics in Artificial Intelligence. (3) Prerequisite(s)
Ph.D. student standing or permission of instructor. Topics in Artificial Intelligence selected to supplement the regular course offerings. May be repeated for credit with change of topic.
Language Processing (NLP) is a branch of Artificial Intelligence (AI) concerned with developing computer systems that can process, understand, or communicate in natural language. The course will cover foundational techniques for developing state-of-the-art NLP models, such as Large Language Models (LLMs), as well as techniques for understanding their behavior and limitations. In parallel, the course will introduce advanced approaches for a wide range of NLP applications.
Prerequisite(s): ITCS 6156 or Instructor's permission. Cross- listed Course(s): ITCS 6102. Like humans and animals, AI interacts with its environment by making decisions and taking actions. These interactions shape the environment and generate new observations, which must be incorporated into future decisions. Reinforcement learning provides machine learning techniques for behavior learning through these dynamic interactions. This course emphasizes practical deep reinforcement learning (DRL) algorithms, using deep neural networks to learn behaviors from high-dimensional data.
ITCS 8112Software Systems Design and Implementation
(3) Cross-listed Course(s): ITIS 8112. Prerequisite(s): Ph.D. student standing or permission of instructor. Introduction to the techniques involved in the planning and implementation of large software systems. Emphasis on human interface aspects of systems. Planning software projects; software design process; top-down design; modular and structured design; management of software projects; testing of software; software documentation; choosing a language for software system.
ITCS 8116Optimization for Machine Learning. (3) Cross
listed Course(s): ITCS 6116, ECGR 6126, ECGR 8126. Optimization formulations and algorithms play a central role in modern data science, machine learning and artificial intelligence. This graduate course provides an introduction to the basics of continuous optimization, with an emphasis on scalable techniques used in data science and machine learning applications. Students study basic complexity properties of relevant optimization algorithms and their relationship with topics in machine learning such as (generalized) principal component analysis, sparse and logistic regression, regularized empirical risk minimization and the training of deep neural networks. The course also focuses on practical implementations of these algorithms and the usage of optimization modeling software which leverages state-of-the-art optimization solvers.
Prerequisite(s): ITCS 2214 or equivalent; CCI graduate standing and undergraduate course in data structures, or permission of instructor. Cross-listed Course(s): ITCS 6121. Topics in scientific and information visualization, including data and visualization foundations; human vision and cognition; categorical, quantitative and time varying data; spatial visualization; graph/tree visualization; visualization evaluation and design; visualization case studies.
ITCS 8144Operating Systems Design. (3) Prerequisite(s)
ITCS 8114 or permission of instructor. Introduction to features of a large-scale operating system with emphasis on resource-sharing environments. Computer system organization; resource management; multiprogramming; multi-processing; file systems; virtual machine concepts; protection and efficiency.
Prerequisite(s): Ph.D. student standing or permission of instructor. Introduction to core ideas in AI. Heuristic versus algorithmic methods; problem solving; game playing and decision making; automatic theorem proving; pattern recognition; adaptive learning; projects to illustrate theoretical concepts.
student standing and an undergraduate course in linear algebra, or permission of instructor. General introduction to spatial descriptions and transformations, and manipulator position and motion. More study on robot planning, programming, sensing, vision, and CAD/CAM.
8114 or permission of instructor. Introduction to algorithmic techniques for robot motion planning. Topics include: configuration space representations, roadmap methods, cell decomposition methods, potential field techniques, randomized path planning, collision detection, nonholonomic motion planning, multiple robot coordination, and manipulation planning. These techniques are motivated by applications of motion planning to mobile robots and robot manipulators, assembly planning, computer aided design, computer graphics, and bioinformatics.
Elective Courses (30 credit hours) With advisor approval, select from the following: ITCS 8XXX - Computer Science Elective (3) ITIS 8XXX - Software and Information Systems Elective (3) ITSC 8XXX - Computing and Informatics Elective (3) (excluding ITSC 8699, ITSC 8990, and ITSC 8991) Design Computation Concentration The Design Computation concentration is an in-depth interdisciplinary program between the College of Computing and Informatics and the School of Architecture. The program is grounded in both critical theory and applied research, at the intersection of design, computation, and informatics, with two primary foci: (1) Computation as Design Inquiry and (2) Computation as Enabling Medium. Computation as Design Inquiry investigates application of computing in design with research topics, including: computational methods, theories, and tools for design, fabrication, optimization, and construction automation; artificial intelligence, cognitive science, and computational theories in design. Computation as Enabling Medium investigates the application of computing to enhance the human experience of the built environment. Research topics in this area include: intelligent systems, interfaces, and mechanisms for social consciousness, participation, and cooperation in building, urban, infrastructure, and mobility systems; computational modeling for urban resilience; and
Prerequisite(s): ITCS 8166 or ITCS 8168. Focuses on advanced networking concepts and protocols related to the design, implementation, integration, and management of networking and communication systems. Topics include: topology control protocols, ad hoc routing protocols, power management protocols, distributed data processing protocols for various networking systems (Internet, wireless mesh networks, ad hoc networks, sensor networks, peer-to-peer networks).
Prerequisite(s): Ph.D. student standing in CS, SIS, ECE, or Optics and a prior course in networking, or permission of instructor. An overview of mobile systems and wireless networking technologies. Emphasis on resource management, routing and quality of service at the MAC and networking layers for mobile systems. Students undertake a semester long research project to survey the research literature and identify specific challenges for cellular telecommunications, wireless LANS, ad hoc networks, mesh networks or sensor networks. ITCS 8169. Computer Vision. (3) Prerequisite(s): ITCS 5356 or ITCS 3156 or permission of instructor. Cross-listed Course(s): ITCS 6169. Computer Vision involves teaching machines to interpret and understand the visual world, namely images and videos. In this course, students will learn advanced computer vision algorithms applied in real- world scenarios. As a project-based curriculum, it offers hands-on experience by enabling students to implement industry-relevant computer vision algorithms. Additionally, the course will explore state-of-the-art approaches to visual representation learning.
ITCS 8190Cloud Computing for Data Analysis. (3) Cross
listed Course(s): ITCS 6190. Prerequisite(s): ITCS 8114 or permission of instructor; familiarity with Java, Unix, Data Structures and Algorithms, Linear Algebra, and Probability and Statistics; good programming skills and a solid mathematical background. Introduction to the basic
Ph.D. student standing and undergraduate course in linear algebra, or permission of instructor. Topics include: Review of image processing and pattern recognition (2-D Fourier transforms, 2-D Wavelet transform, denoising of medical images); origin and processing of X-ray images; CT images; MRI images; ultrasonic images; PET images; thermal images; electrical impedance images; cross- registration between images of different source; stereotactic neurosurgery; stereotactic radiosurgery/radiotherapy; robot-assisted surgery.
Course(s): DSBA 6322, HCIP 6322, ITCS 6322, ITIS 6322, and ITIS 8322. Prerequisite(s): Permission of instructor. Complex adaptive systems (CAS) are networked (agents/part interact with their neighbors and, occasionally, distant agents), nonlinear (the whole is greater than the sum of its parts), adaptive (the system learns to change with its environment), open (new resources are being introduced into the environment), dynamic (the change is a norm), emergent (new, unplanned features of the system get introduced through the interaction of its parts/agents), and self-organizing (the parts organize themselves into a hierarchy of subsystems of various complexity). Ant colonies, networks of neurons, the immune system, the Internet, social institutions, organization of cities, and the global economy are a few examples where the behavior of the whole is much more complex than the behavior of the parts. Covers these and similar topics in an interactive manner. Examples of our current research effort are provided. Topics include: Self-organization; emergent properties; learning; agents; localization affect; adaptive systems; nonlinear behavior; chaos; complexity.