Hands-on experience with **IDEs, JUnit testing, UML diagrams, and iterative development**
Foundations in **data structures and algorithms**: arrays, sequences, queues, stacks, linked lists, trees, hashing, and sorting algorithms
Understanding **interface design and best practices** in object-oriented programming
Practical experience building structured, modular software systems and debugging complex programs
Foundations I & II
Core **mathematical and computational foundations** for computer science
Boolean logic, discrete mathematics, and proofs including induction and contradiction
Algorithmic thinking, problem-solving techniques, and complexity analysis
Introduction to formal languages, recursion, and functional programming
Hands-on exercises building a solid foundation for upper-level CS courses
Systems I & II
Understanding **computer organization, memory, and CPU architecture**
Low-level systems programming in **C and x86-64 assembly**
Skills gained: **register-level programming, stack management, function calling conventions, and memory layout understanding**
Process management, concurrency, file systems, and operating system fundamentals
Performance analysis and **resource management** in real-world systems
Practical debugging of low-level code and implementing basic algorithms at the assembly level
Other Courses
Intro to Databases
Designed and implemented relational databases using **entity-relationship modeling** and normalization techniques
Developed proficiency in **SQL** for creating, querying, and updating database tables, including JOINs, subqueries, and aggregations
Integrated SQL into Java applications using **embedded SQL / JDBC**, enabling dynamic data access and manipulation from code
Learned relational algebra concepts and their practical application in database querying
Focused on **database design, implementation, and querying real-world datasets**, ensuring data consistency and integrity
Statistics
Built a strong foundation in **probability and statistical reasoning**, including discrete and continuous random variables, expected value, and probability distributions (STAT 3470 / STAT 3201)
Learned to **quantify uncertainty and model variability**, using simulation and analytical methods for sampling and estimation
Mastered **inferential statistics**, including point and interval estimation, hypothesis testing, and practical interpretation of results
Explored statistical modeling through **linear regression methods**, including model building, diagnostics, and communicating model insights (STAT 3301)
Emphasized **practical data analysis** skills through numerical and graphical diagnostics, interpretation of outcomes, and communicating findings in context
Linear Algebra
Mastered **matrix algebra** including systems of linear equations, row reduction, and matrix inverses
Understood **vector spaces, subspaces, bases, and dimension**, which form the foundation of high‑dimensional reasoning
Analyzed and applied **linear transformations and their matrix representations**
Explored **eigenvalues and eigenvectors** and their use in applications such as diagonalization and systems behavior
Developed strong **problem‑solving skills in abstract mathematical reasoning and linear systems applications**
Projected Coursework (Upcoming Semester)
Intro to AI (e.g., CSE 3521 – Survey of Artificial Intelligence I)
Explores core AI concepts including **problem solving techniques** and intelligent system design
Introduces **knowledge representation** and basic reasoning methods for modeling complex domains
Develops foundational **machine learning skills**, such as classification and pattern recognition
Builds experience writing small AI-oriented programs to demonstrate key techniques
Focuses on evaluating AI methods and understanding their applicability to real-world problems