Graduate Special Topics - Fall 2021

These are the planned classes for the semester indicated above. The CSC Department may update this list at any time. The items listed in MyPack's Enrollment Wizard will be the planned final offerings by the department, and may differ from this list.

CSC 591 - 013 Game Engine Foundations - Dr. Roberts

Prerequisites: CSC 316

Description: This is the graduate version of CSC 481 - 001 and is cross-listed with CSC 481 - 001.

An introduction to game engines, the technologies underlying computer and console game development. This course will cover engine components, architectures, and designs. Topics include asset management, resource management, event management, memory management, timelines, multithreading, network architectures, and game object models. A sequence of programming assignments will lead students through the implementation of their own game engine, which they will use to design their own game.

Students cannot receive credit for both the undergraduate and graduate version of the same class.

CSC 591/791 - 025 TBD - Dr. Shen

Prerequisites: TBD

Description: TBD

CSC 591/791 - 026 TBD - Dr. Jhala

Prerequisites: TBD

Description: TBD

CSC 591/791 - 066 Sinless Software Engineering - Dr. Menzies

Prerequisites: CSC 111 recommended


When lawyers and politicians cannot keep up with technical innovations, it is up to us technologists to take action in order to sin less.  When  we cannot avoid undesirable  social effects of our technology, we should at least try to write software that sins less, whenever it can.  This subject treats ethics as an AI-based optimization problem where software makes  choices that at least monitors, and at most improves, the ethical impact of software.  Problem domains are approximated as a set of low dimensional ranges with different frequencies in desired and undesired outcomes. Tools are written to explore that space in order to achieve desired goals or, at the very least, avoid undesirable ones. 
Topics covered will include ethics, case studies in ethical software, international standard for ethics in AI and software engineering, safety engineering, data mining, non parametric statistics, power laws, naturalness,  statistics, pareto optimization, multi-objective optimization,   bayesian parameter optimization, discretization, explanation, planning.
Projects will be determined by student background: skilled programmers will build AI tools that make better ethical choice; other students will do extensive case studies in ethics and software engineering.

CSC 791 - 012 Natural Language Processing - Dr. Singh

Prerequisites: CSC 316 and [MA 305 or MA 405]

Description: This is the graduate version of NLP. This section is cross-listed with CSC 495- 012, NLP.

This course is self-contained, and provides the essential foundation in natural language processing. It identifies the key concepts underlying NLP applications as well as the main NLP paradigms and techniques.

This course combines the core ideas developed in linguistics and in artificial intelligence to show how to understand language. Key topics include regular expressions, unigrams, and n-grams; word embeddings; syntactic (phrase-structure) and dependency parsing; semantic role labeling; language modeling; sentiment and affect analysis; question answering; text-based dialogue; discourse processing; and applications of machine learning to language processing.

The course provides the necessary background in linguistics and artificial intelligence. This course is suitable for high-performing undergraduates who are willing and able to learn abstract concepts, complete programming assignments, and develop a student-selected project.

Students may not receive credit for the undergraduate version and graduate version of the same course topic.

CSC 801 - 001 CS Seminar - Dr. Dutta

Prerequisites: To register and get credits, first-year PhD standing in Computer Science. Other CSC PhD students may attend if there is room, but cannot receive credit.

Description: How do you start on the process of PhD research, if you have never done research before? What are the processes you will be expected to follow, and tasks you will be expected to perform, without necessarily being told how to? How do you know when you have become ready to "do research"?? Is P=NP?!

We can't tell you that last one, but we hope to help you with the others! We will go over the life cycle of research projects, the anatomy of research papers, how to read and write reviews, how to develop research ideas, and how to present and communicate research.  Descriptive material will be presented by individual instructors and panels, and students will also undertake assignments in small-scale research projects that allow them to follow processes building up standard research skills.