Courses

From reinforcement learning studios to operating systems, architecture, and database design, this coursework spans the stack and fuels how I approach real-world projects.

Filter by topic:

Operating Systems

CS 481University of New MexicoFall 2025

Built kernel-scale labs in C to understand processes, preemptive schedulers, deadlock avoidance, and virtual memory management.

Operating SystemsSystems ProgrammingLow-Level ProgrammingPerformance Engineering
View syllabus

Deep Reinforcement Learning

CS 461University of New MexicoFall 2025

Project-based study of sequential decision making where I trained agents with dynamic programming, deep Q-networks, and policy-gradient methods in PyTorch.

Reinforcement LearningMachine LearningAlgorithms

Introduction to Database Management

CS 464University of New MexicoSpring 2025

Designed normalized schemas, wrote complex SQL, tuned indexes, and built a transactional application on top of a relational DBMS.

DatabasesSoftware EngineeringPerformance Engineering
View syllabus

Software Engineering

CS 460University of New MexicoFall 2025

Covered the full software lifecycle from requirements and architecture to testing strategies, delivering a semester-long team project with real stakeholders.

Software EngineeringArchitecture & DesignProject LeadershipTesting
View syllabus

Data Structures and Algorithms II

CS 362University of New MexicoFall 2025

Extended algorithm design skills with amortized analysis, disjoint sets, minimum spanning trees, shortest paths, and divide-and-conquer strategies.

AlgorithmsData StructuresGraph Theory
View syllabus

Data Structures and Algorithms

CS 361LUniversity of New MexicoFall 2024

Analyzed algorithm complexity while implementing balanced trees, hash tables, graph traversals, and comparison-based sorts in Java.

Data StructuresAlgorithms
View syllabus

Declarative Programming

CS 357University of New MexicoFall 2024

Explored functional and logic paradigms with Haskell lab work on recursion, laziness, and type-driven program design.

Functional ProgrammingProgramming Languages
View syllabus

Introduction to Numerical Computing

CS 375University of New MexicoSpring 2024

Implemented numerical methods—root finding, interpolation, numerical integration, and differential equation solvers—while analyzing stability and error.

Numerical MethodsAlgorithmsMathematics & Proofs
View syllabus

Design of Large Programs

CS 351University of New MexicoSpring 2025

Led a multi-person Java/JavaFX codebase using agile ceremonies, design patterns, automated testing, and CI to deliver a production-ready simulator.

Software EngineeringObject-Oriented DesignArchitecture & DesignProject Leadership
View syllabus

Introduction to Computer Architecture and Organization

CS 341LUniversity of New MexicoSpring 2025

Studied CPU organization, pipelining, assembly, memory hierarchies, and device I/O by writing low-level C and assembly labs.

Computer ArchitectureLow-Level ProgrammingSystems ProgrammingPerformance Engineering
View syllabus

Data Organization

CS 241LUniversity of New MexicoFall 2024

Focused on memory-resident and disk-based data layouts—linked versus contiguous structures, manual memory management, and cache-aware programming in C.

Systems ProgrammingPerformance EngineeringData Structures
View syllabus

Intermediate Programming

CS 251LUniversity of New MexicoSpring 2023

Strengthened object-oriented design skills through Java projects that used standard libraries, GUIs, and unit testing to deliver polished applications.

Object-Oriented DesignSoftware EngineeringProgramming Languages
View syllabus

Discrete Mathematics

CS 261University of New MexicoFall 2023

Worked through proofs-driven foundations covering propositional logic, combinatorics, graph theory, induction, and algorithmic reasoning.

Mathematics & ProofsAlgorithmsGraph Theory
View syllabus
Ask Diana
Diana:

Hi there! I'm Diana, Saurav's AI assistant. If you have any questions about his work, feel free to ask!