Computer Science Curriculum

Course Highlights

My coursework has built a strong foundation in software development, systems architecture, algorithm design, and computer graphics. Click on any course to view related projects.

๐Ÿงฉ

CMSC105

Introduction to Problem-Solving and Algorithm Design

Introduces the fundamentals of computational thinking and problem-solving through algorithm design. Covers structured programming concepts, pseudocode, flowcharts, and basic control structures.

View course projects
๐Ÿ”ข

CMSC150

Introduction to Discrete Structures

Covers essential topics in discrete mathematics including sets, functions, relations, logic, proofs, number theory, combinatorics, and graph theory with applications to computer science.

View course projects
๐Ÿ’ก

CMSC215

Intermediate Programming

Focuses on data abstraction, modular programming, object-oriented design, and implementation of abstract data types. Introduces advanced programming techniques and data structures.

View course projects
๐Ÿ”

SDEV300

Building Secure Python Applications

Explores secure software development practices using Python. Covers input validation, error handling, secure file operations, database interactions, and web application security.

View course projects
๐Ÿ–ฅ๏ธ

CMSC310

Computer Systems and Architecture

Covers the structure and function of computer hardware and software systems. Includes digital logic, assembly language, memory hierarchy, and processor architecture.

View course projects
๐Ÿ—„๏ธ

CMSC320

Relational Database Concepts and Applications

Introduces relational database theory, SQL, database design principles, normalization, transaction management, and database administration fundamentals.

View course projects
๐Ÿงฌ

CMSC330

Advanced Programming Languages

Analyzes the syntax, semantics, and implementation of various programming paradigms. Explores language features, type systems, and runtime environments.

View course projects
๐Ÿงฉ

CMSC335

Object-Oriented and Concurrent Programming

Focuses on object-oriented design principles, inheritance, polymorphism, and concurrent programming techniques. Explores design patterns and thread synchronization.

View course projects
๐Ÿงช

CMSC345

Software Engineering Principles and Techniques

Covers the software development lifecycle, requirements analysis, design methodologies, testing strategies, and project management. Emphasizes best practices in software engineering.

View course projects
๐Ÿ”„

CMSC350

Data Structures and Analysis

Explores advanced data structures, algorithm efficiency, and computational complexity. Covers trees, graphs, sorting algorithms, and search techniques with practical implementations.

View course projects
๐ŸŽฎ

CMSC405

Computer Graphics

Introduces computer graphics principles and techniques. Covers 2D/3D rendering, transformations, lighting, shading, and interactive visualization.

View course projects
โš™๏ธ

CMSC412

Operating Systems

Examines the design and implementation of operating systems. Covers process management, memory management, file systems, I/O systems, and security mechanisms.

View course projects
๐Ÿ”

CMSC430

Compiler Theory and Design

Explores the principles and techniques of compiler construction. Covers lexical analysis, parsing, semantic analysis, intermediate code generation, and optimization.

View course projects
๐Ÿ“Š

CMSC451

Design and Analysis of Computer Algorithms

Focuses on algorithm design techniques, complexity analysis, and computational efficiency. Covers sorting, searching, graph algorithms, dynamic programming, and NP-completeness.

View course projects