Special Topics Courses for Spring 2024

  1. CS Undergraduate Special Topics
  2. CS Graduate Special Topics
  3. Special Topics Outside CS

Last Updated: Monday, October 9

CS Undergraduate Special Topics

CS 4501: Intro to Algorithmic Economics w/ Profs. Nekipelov (ECON) and Wei (CS)

(3 credits / Prerequisites: C- or better in CS 2150 or CS 3100)

  • A student who is double-majoring will only be allowed to count Algorithmic Economics (either the CS 4501 or the ECON 4740 section) for one of their majors, not both.
  • The current SIS rules are this: CS4501 will count as CS elective in any CS major. ECON 4740 can count as an Integration Elective for BACS majors, and as an “HSS” elective for BSCS majors.
  • If after taking the course, the student decides the section they took is NOT the one they really needed to in order to meet the requirement, then the two departments will be willing to enter a SIS exception to make this work. (E.g., CS will enter a SIS exception to allow CS4501 to count as an Integration Elective for a BSCS major.) But we will be firm about only allowing it to count for a requirement in one degree and not both.
  • Students should do their best to sign up for the ECON or CS section based on how they want it to count. Entering SIS exceptions requires time and energy, and we’d like to avoid that as much as possible. If the section you want is full, see if the instructor can permission-grant you into the full section before signing up for the section you know will not normally count the way you want it to.

CS 4501: Internet of Things w/ Prof. Campbell

(3 credits / Prerequisites: C- or better in CS 2130 or CS 3330)

The Internet of Things (IoT) is a computing platform where a large number of devices form a network to monitor, control, and optimize some physical system. To be scalable, these devices communicate wirelessly, both with each other and to the Internet at large. But what wireless protocols are available for IoT devices? How do they work? And why are there so many? This course will provide a hands-on introduction to the world of wireless in the Internet of Things. Over the course of the semester we will explore what wireless options we have available, how they differ and what the tradeoffs are, and how major IoT wireless protocols work. We will also build our own wireless “things” with embedded devices that connect to smartphones and a Charlottesville-wide LoRa network. See the webpage from a previous semester for more background.

CS 4501: Cybersecurity and Elections w/ Profs. Davidson and Orebaugh

(3 credits / Prerequisites: Permission of Instructor required)

CS 4501: Engr Interactive Technologies w/ Prof. Heo

(3 credits / Prerequisites: C- or better in CS 3205)

CS 4501: Cryptocurrency w/ Prof. Bloomfield

(3 credits / Prerequisites: C- or better in CS 2150 or CS 3100)
This course is meant as a general introduction to cryptocurrency. This course is split into three “modules”: introduction and Bitcoin, Ethereum and smart contracts, and Web3.

CS 4501: Hardware Security w/ Prof. Venkat

(3 credits / Prerequisites: C- or better in CS 3130 or CS 3330)
The goal of this course is to investigate modern architectures for security flaws, craft exploits on real machines, and explore novel security-aware architectures. By taking this course, students will:

  • become conversant with security issues that plague the modern semiconductor industry, and understand state-of-the-art defense mechanisms,
  • learn how to craft attacks that exploit security vulnerabilities in modern processors,
  • identify new security vulnerabilities and/or motivate new solutions to existing attacks

CS 4501: Cryptography w/ Prof. Lin

(3 credits / Prerequisites: C- or better in CS 3120 or CS 3102)

Cryptographic primitives are applied almost everywhere on the network, for instance, encryption and authentication. In this course, we will start from the theoretic foundations that fortifies cryptography, and then we will visit some essential protocols as well as recent advances in cryptography. A major theme of this course is “provable security,” that is, to define the desired security and then to rigorously prove the security is achieved. Hence, students are expected to be familiar with algorithms and mathematical proofs.

CS 4501: Human-Robot Interaction w/ Prof. Iqbal

(3 credits / Prerequisites: C- or better in CS 2130 or CS 2150)

CS 4501: Digital Signal Processing w/ Prof. Fletcher

(3 credits / Prerequisites: C- or better in CS 2150 or CS 3100)

CS Graduate Special Topics

CS 6501: Software Logic w/ Prof. Sullivan

(3 credits / Prerequisites: TBD)

CS 6501: Network Security and Privacy w/ Prof. Sun

(3 credits / Prerequisites: TBD)

CS 6501: Reinforcement Learning w/ Prof. Wei

(3 credits / Prerequisites: TBD)

CS 6501: Wireless Sensing for Internet of Things w/ Prof. Qian

(3 credits / Prerequisites: CS 4457; Prior Knowledge in Signals and Systems is Highly Recommended / Breadth Area: Internet of Things)
Wireless sensing technologies reuse wireless communication signals to sense physical space and gain situational awareness. With trillions of wirelessly connected things and advanced sensing algorithms, wireless sensing offers pervasive sensing coverage and vision-like sensing granularities, paving the way toward the vision of ambient intelligence. This course will introduce the fundamentals of wireless sensing, including wireless communication, signal processing, and machine learning. This course will also introduce state-of-the-art wireless sensing applications, such as indoor localization, activity sensing, vital signs monitoring, environmental sensing, etc. The evaluation will be based on paper presentations, assignments, projects, and class participation.

CS 6501: Natural Language Processing w/ Prof. Meng

(3 credits / Prerequisites: CS 4774; Prior Knowledge in Deep Learning is Highly Recommended)
This advanced graduate-level course offers a comprehensive exploration of cutting-edge developments in the field of natural language processing (NLP). With Large Language Models (LLMs) serving as the foundation for state-of-the-art NLP systems, we will cover various topics aiming at gaining a better understanding of LLMs’ design, capabilities, limitations, and future prospects. Key areas include model architecture and design (e.g., Transformers, self-attention, position encodings), training methodologies (e.g., pretraining, instruction tuning, RLHF), emergent capabilities (e.g., in-context learning, chain-of-thought reasoning), efficiency (e.g., parameter-efficient tuning, quantization), limitations (e.g., hallucination), and security and ethics. This course will be highly research-driven with a substantial focus on presenting and discussing important papers and conducting research projects.

CS 6501: Hardware Accelerators w/ Prof. Skadron

(3 credits / Prerequisites: Students taking this course should have had a prior undergraduate course in computer architecture that covers at least pipelines and caches – for UVA undergraduate students, this would be CS 3330 or ECE 4435 for students in the “old” curriculum, and CS 3130 for students in the “new” curriculum / Breadth Area: Systems)
This course will cover the design of a variety of hardware accelerators, including current commercial architectures such as GPUs, TPUs, and FPGAs, and research proposals for potential new acceleration architectures, such as processing in memory, new machine-learning accelerators, and so on. For more information, please see https://www.cs.virginia.edu/~skadron/cs6501_s24.html.

CS 6501: TBD w/ Prof. Fioretto

(3 credits / Prerequisites: TBD)

CS 6501: Digital Signal Processing w/ Prof. Fletcher

(3 credits / Prerequisites: TBD)

CS 6501: Advanced Embedded Systems w/ Prof. Alemzadeh

(3 credits / Prerequisites: TBD)

CS 6501: Generative AI Seminar w/ Prof. Qi

(3 credits / Prerequisites: TBD)

CS 6501: Modern Computing Architectures w/ Prof. Jog

(3 credits / Prerequisites: Background in computer organization and design is expected. Background on other mentioned topics (graphics, quantum, cryogenic, superconducting) is not expected. / Breadth Area: Computer Systems)
This course will cover several non-traditional and traditional computing paradigms and architectures such as graphics architectures, quantum computing, cryogenic designs, and superconducting architectures. The evaluation will be based on paper presentations, reviews, semester-long projects, and class participation. Course Website

CS 6501: Learning in Robotics w/ Prof. Behl

(3 credits / Prerequisites: Proficiency in Python programming, familiarity with probability distributions, and a grasp of linear algebra, matrix algebra, and calculus. / Breadth Areas: Cyber-Physical Systems; Machine Learning; Theory and Algorithms)
Ever attempted to decipher a robotics paper from renowned conferences like ICRA, IROS, or RSS, only to be deterred by complex math? This course is your solution. Designed to equip you for robotics research, we’ll delve deep into its mathematical core at a graduate level.

We will cover the mathematical foundations of robotics in this graduate-level course. We will rigorously explore the three pillars of robotics: perception, planning, and control. We’ll commence with theoretical discussions on state estimation methods, including the Kalman Filter, EKF, UKF, and Particle Filters, progress to mapping and visual odometry, and then navigate the intricacies of dynamic programming, control, and planning methods such as LQR and MDPs. Our journey will culminate in reinforcement learning models for robotics, like policy gradients and Q-learning, and specialized topics like foundation models for robotics. To ensure practical application, students will undertake programming assignments addressing real-world robotics challenges. While primarily for graduate students, undergraduates may enroll with the instructor’s approval.

Course Website

Special Topics Outside CS

ENGR 4880: Business and Technical Leadership in Engineering w/ Prof. Jean Tom

(3 credits) This course is focused on topics which will prepare fourth year engineering students for a successful transition to the technical workplace and will help students answer the following questions: What do they need to know to help them translate their technical knowledge in the workplace to be an impactful contributor? How will they develop their career?

The course is divided into 4 modules. During the Module 1 Understanding Yourself & Working with Others, you will learn about your communication style and those of others and strategies to communicate, network and collaborate with others effectively. In module 2, Understanding the Workplace, we will cover aspects of corporate and business structures and workflows. Module 3 is focused on Organizational Behavior which covers topics such as organizational decision-making, motivation, management, and leadership. The final module, Managing Your Career, pulls the earlier topics together for you to manage your career development and progression. The course is based on a collection of materials (case studies, simulations, articles, and multi-media content) which will be reinforced with class discussion, in-class exercises and activities, and guest lectures. My goal is to make this a very useful and fun class while challenging the students in areas they have not had to think about before.

Information about the Instructor

Please feel free to email: jean.tom@virginia.edu

PDF Flyer