CSC 561: Neural Networks and Deep Learning
This course surveys foundational and practical aspects of several deep learning approaches, including convolutional neural networks, recurrent neural networks, attention-based models, deep generative models, and deep reinforcement learning. Along the way, students will learn basic concepts such as gradient descent, generalization and overfitting, regularization, and model selection.
Spring 2023, Spring 2022, Spring 2021, Spring 2020, Spring 2019, Fall 2017
CSC 411: Computer Organization
CSC 411 introduces a logical structure of computer systems viewed as a hierarchy of levels. Topics include assembly language programming, assemblers, linkers, loaders, digital logic, processor organization, instruction sets, addressing techniques, and memory hierarchies.
Spring 2023, Spring 2022, Spring 2021
CSC 461: Machine Learning
Machine learning is an exciting and fast-moving field that studies the theoretical and methodological aspects of computer programs that can learn from data or past experience. CSC 461 surveys a mixture of mathematical foundations, traditional and newly developed machine learning algorithms, and best practices in the application of machine learning to solve real-world problems.
Fall 2022, Fall 2021, Fall 2020, Fall 2019, Fall 2018, Fall 2016
CSC 415: Parallel Computing
CSC 415 provides a deep understanding of the fundamental principles in modern parallel computing systems. Topics include: basic concepts of computer architecture, microprocessors and operating systems; parallel programming models; message passing; threads and shared memory; GPU architectures and CUDA programming.
Fall 2021, Spring 2018
CSC 212: Data Structures and Abstractions
CSC 212 explores theoretical, implementation, and application aspects of important data structures and sorting/search algorithms in use on modern computers. The course also covers basic concepts for analyzing space and time requirements of algorithms, critical for understanding their performance characteristics.
Fall 2020, Spring 2020, Spring 2019, Fall 2018, Spring 2018, Fall 2017, Spring 2017, Fall 2016, Spring 2016, Fall 2015
CSC 211: Computer Programming
CSC 211 provides an introduction to programming using the C/C++ language. The course also explores basic computational problem-solving techniques and object oriented programming. Prior programming experience is not strictly necessary, however, students must be familiar with the basics of computers.
Fall 2019, Summer 2018
CSC 481: Artificial Intelligence
CSC 481 surveys theories, formalisms, and techniques to emulate intelligent behavior using information processing models. Uniformed/informed search, constraint satisfaction problems, adversarial search, markov decision processes, and reinforcement learning. Optional topics: natural language processing, machine learning, and computer vision.
Spring 2017, Spring 2016
CSC 492: Competitive Programming
This course develops skills needed to solve problems in competitive programming contests and technical interviews. Students will spend most of their time coding solutions to specific problems in their language of choice (Java, C++, Python). At the end of the course, top-performing students will be invited to join the URI Programming Teams to participate in the ACM ICPC.