Selected & Advanced Topics
CSC 691
The Department offers Computer Science courses under Selected Topics that are not studied in regular courses or which further examine topics covered in regular courses. May be repeated if the topic changes.
Provide an introduction to cloud computing platforms and services with a focus on major cloud providers such as AWS, Google and Azure. This course will help students understand how to leverage cloud platforms and services in the context of developing and delivering applications and solutions.
- Cloud platforms, containers, kubernetes, composables services
- Cloud marketplaces
- Cloud security – data at rest, data in motion, authentication and authorization
- Event-based programming and infrastructure
- Cloud frameworks for applications and DevOps
This course is an introduction to the topic of computer vision. You will explore the world of visual data analysis and the fundamental principles enabling computers to make sense of images and videos. You will gain insight into applications such as facial recognition, object detection for autonomous vehicles and remote sensing.
How can ensure computing technologies align with human values? This course contends that ethical computing begins at the level of the individual computer scientist. Through personal reflection, in-class discussion, critical analysis, and engagement with real-world case studies, this course aims to equip students with a toolkit for navigating the challenges of ethical computer science. By interweaving theory and practice, the course prompts students to develop greater awareness of the social impacts of their work, cultivate virtue, and become skillful communicators. As they progress, students will be encouraged to think deeply about their role, not just as competent technicians, but as moral stewards in a rapidly evolving digital landscape.
Students enrolled in this course are NOT expected to have any prior programming experience. This course does not satisfy any divisional requirements, but is recommended for any student interested in performing research at Wake Forest University using DEAC.
Prerequisites: CSC 673 or CSC674 or CSC675 or CSC691 (Reinforcement Learning)
An introduction to Natural Language Processing (NLP), which studies computing systems that can process, understand, or communicate in human language. The course will discuss major NLP tasks, algorithms for solving them, and methods for evaluating their performance. The primary focus will be on neural-network learning algorithms, and students will work individually and in groups, to implement some of these algorithms or experiment with existing implementations. Current trends in applications of large language models will be highlighted.
The aim of this course is to introduce students to the realm of reinforcement learning, a dynamic research subdomain within machine learning. The focus of reinforcement learning is on constructing algorithms that can learn to anticipate and make decisions within stochastic environments, based on previous interactions. The spectrum of applications for reinforcement learning is wide-ranging, spanning from fundamental control issues like optimizing power plants and managing dynamic systems, to domains like gaming, inventory management, and various other fields. Importantly, reinforcement learning has also yielded highly compelling models for understanding how animals and humans learn. Throughout this course, we will delve into both the theoretical properties and practical use cases of reinforcement learning. Our primary reference will be the second edition of the classic textbook by Sutton Barto (accessible online for free or through MIT Press), complemented by supplementary readings and materials as required.
CSC 790
The Department offers Computer Science courses under Advanced Topics that are not studied in regular courses or which further examine topics covered in regular courses. May be repeated if the topic changes.
This advanced course explores the theoretical foundations and current research in Software Engineering (SE), covering both traditional methodologies and emerging AI-driven approaches. It examines the processes of software development and maintenance while integrating cutting-edge research in areas such as automated debugging, intelligent code analysis, and AI-powered software development.
This course introduces the artificial intelligence in health, with a focus on the nature of health data and the application of AI to public health research questions. Through four in-depth case studies, students will explore how AI can improve health systems and inform decision-making. Core topics covers machine learning fundamentals, neural networks, computer vision, and natural language processing. The course also includes guest lectures and hands-on projects, offering students practical experience in working with health data and using AI to effectively address challenges and opportunities in public health research and practice.
An overview of algorithms and approaches for the detection and correction of issues in training data and for the construction of better datasets for supervised learning tasks. This course focuses on impactful aspects of real-world AI applications in different domains. Topics include confident learning, data valuation, data privacy, concept drift, growing and compressing datasets, augmentation and interpretability. P—Graduate CS standing.
This graduate-level course focuses on the safety and explainability of Reinforcement Learning (RL) and Multi-Agent Reinforcement Learning (MARL), two pivotal branches of AI that are increasingly relevant in the context of responsible artificial intelligence. In line with principles such as fairness, transparency, privacy, and human safety, as emphasized in frameworks like Executive Order 13859 in the U.S. and the Artificial Intelligence Act in the European Union, this course will examine the vulnerabilities of RL and MARL systems to adversarial attacks and malicious agents, as well as the inherent challenges of their black-box nature, which limits decision interpretability. Students will explore theoretical and practical solutions to these issues, studying safe algorithms and explainable methods during learning, testing, and deployment phases. The course includes critical analysis and reproduction of recent research papers, with students expected to propose novel ideas or extensions to the works they engage with. Prior knowledge of neural networks, basic optimization methods (mainly gradient descent), and the ability to read and critique research papers is required, while familiarity with reinforcement learning is recommended. Through lectures, discussions, and hands-on projects, students will gain a deeper understanding of how to make RL and MARL systems safer and more transparent for real-world applications.
Familiarity with machine learning basics and programming languages commonly used in machine learning, such as Python, are strongly recommended.
This course introduces the fundamentals of science-guided machine learning that incorporate domain knowledge into machine learning algorithms for scientific discoveries. It explores the integration of data-driven methods with theory-based models to enhance prediction reliability and interpretability. The course emphasizes practical applications through a series of research articles and projects. Through a combination of theoretical instruction, hands-on programming assignments, and a project, students will gain the skills needed to apply science-guided machine learning to real-world problems in diverse scientific domains, including physics, biology, and engineering.
Course Content:
• Science-based modeling basics: A introduction to mathematical modeling and simulation, and its application in scientific domains (i.e., physics, biology).
• Machine learning basics: A review of fundamental machine learning concepts.
• Science-guided learning and architecture design: Machine learning models that incorporate scientific domain knowledge as a form of constraints or design, allowing for interpretable and physically meaningful predictions.
• Parameter inference and scientific discovery: Techniques for estimating parameters and governing equations in science-based models using machine learning inference from data.
• Hybrid Framework: Integration of machine learning models with theory-based models to address limitations or biases in either approach, producing more accurate and reliable predictions.
Graduate Program Resources
CS Degree Programs
The Department of Computer Science offers the following programs for undergraduate and graduate students: