Courses taken at Boston University (6)
CS112
Data Structures & Algorithms
-
Purpose: Teach Data structures and algorithms in Java.
-
Emphasis on linked lists, trees, sorting algorithms,
hash tables, stacks/queues and recursion.
-
Algorithm time/space complexity
analysis using Big O notation.
Skills:
-
Data Structures
-
Algorithms & Big-O Notation
-
Recursion/Recursive Backtracking
CS131
Combinatoric Structures
-
Purpose: Create combinatoric logic models.
-
Rigorous use of various proof types:
Inductive, Recursive, Direct, and more.
-
Emphasis on logic, set theory and boolean algebra
to represent abstract problems.
Skills:
-
Proofs
-
Logic & Counting
-
Discrete Math Applications
CS210
Computer Systems
-
Purpose: Learn C, Assembly and Computer Hardware.
-
Complex understanding of computer hardware
communicates with software and memory.
-
Heavy usage of bitwise operations,
C libraries and assembly intructions.
Skills:
-
C Programming
-
CPU, Memory and Cache Architecture
-
Assembly Coding & Stack Tracing
CS237
Probability in Computing
-
Purpose: Use Combinatoric Strutures in Programming.
-
Emphasis on statistics, combinatorics,
distributions, expectation and variance.
-
Complex distribution applications
usage to master statistics in Python.
Skills:
-
Distribution Applications
-
Counting & Probability
-
Statistics & Data Analysis
CS460
Database Systems
-
Purpose: Design and understand database systems.
-
Covers relationship modeling, relational math,
SQL, and QBE.
-
Database internals:
indexing, query optimization, transaction processing, and concurrency.
Skills:
-
SQL
-
Queries
-
Concurrency Control
CS330
Analysis of Algorithms
-
Purpose: Understand algorithm efficiency and limitations.
-
Emphasis on greedy algorithms, graph algorithms,
dynamic programming, and network flows.
-
Complex topics like
NP-completeness, reductions, and approximation algorithms.
Skills:
-
Optimal Algorithm Design
-
Dynamic Programming
-
NP-Completeness
CPSC 1010
Computer Science 1
-
Purpose: Learn computing fundamentals in C.
-
Covers data types and functions, recursion,
C memory model, and structs.
-
Teaches the basics of computer memory and:
basic programming using C language and libraries.
Skills:
-
Programming in C
-
Programming Fundamentals
-
Functions & Recursion
CPSC 1020
Computer Science 2
-
Purpose: Master coding in C/C++.
-
Covers C/C++ differences, data structures,
debugging, and team-oriented projects.
-
Built 4 projects over the semester
to master modular programming and debugging.
Skills:
-
C++ Programming
-
Team Coding Projects
-
Modular Programming/ Debugging
MATH 3110
Linear Algebra
-
Purpose: Master basics of linear algebra.
-
Covers matrix reduction, calculus,
vector spaces, and eigenvalues and eigenspaces.
-
Strong emphasis on matrix algebra
proofs, polynominals, and linear transformations.
Skills:
-
Matrix Algebra
-
Linear Transformations
-
Vectors/Eigenspaces
ECE 1990
Robot Networks
-
Purpose: Study/Improve image classification LLM.
-
Covers Pytorch, SGD, debugging,
and editing step values for accuracy.
-
Analyzed how LLMs learn and improve
to better understand AI and machine learning.
Skills:
-
Pytorch
-
LLMs
-
AI/ML
CS112
Data Structures & Algorithms

- Purpose: Teach Data structures and algorithms in Java.
-
Emphasis on linked lists, trees, sorting algorithms,
hash tables, stacks/queues and recursion. -
Algorithm time/space complexity
analysis using Big O notation.
Skills:
- Data Structures
- Algorithms & Big-O Notation
- Recursion/Recursive Backtracking
CS131
Combinatoric Structures

- Purpose: Create combinatoric logic models.
-
Rigorous use of various proof types:
Inductive, Recursive, Direct, and more. -
Emphasis on logic, set theory and boolean algebra
to represent abstract problems.
Skills:
- Proofs
- Logic & Counting
- Discrete Math Applications
CS210
Computer Systems

- Purpose: Learn C, Assembly and Computer Hardware.
-
Complex understanding of computer hardware
communicates with software and memory. -
Heavy usage of bitwise operations,
C libraries and assembly intructions.
Skills:
- C Programming
- CPU, Memory and Cache Architecture
- Assembly Coding & Stack Tracing
CS237
Probability in Computing

- Purpose: Use Combinatoric Strutures in Programming.
-
Emphasis on statistics, combinatorics,
distributions, expectation and variance. -
Complex distribution applications
usage to master statistics in Python.
Skills:
- Distribution Applications
- Counting & Probability
- Statistics & Data Analysis
CS460
Database Systems

- Purpose: Design and understand database systems.
-
Covers relationship modeling, relational math,
SQL, and QBE. -
Database internals:
indexing, query optimization, transaction processing, and concurrency.
Skills:
- SQL
- Queries
- Concurrency Control
CS330
Analysis of Algorithms

- Purpose: Understand algorithm efficiency and limitations.
-
Emphasis on greedy algorithms, graph algorithms,
dynamic programming, and network flows. -
Complex topics like
NP-completeness, reductions, and approximation algorithms.
Skills:
- Optimal Algorithm Design
- Dynamic Programming
- NP-Completeness
CPSC 1010
Computer Science 1

- Purpose: Learn computing fundamentals in C.
-
Covers data types and functions, recursion,
C memory model, and structs. -
Teaches the basics of computer memory and:
basic programming using C language and libraries.
Skills:
- Programming in C
- Programming Fundamentals
- Functions & Recursion
CPSC 1020
Computer Science 2

- Purpose: Master coding in C/C++.
-
Covers C/C++ differences, data structures,
debugging, and team-oriented projects. -
Built 4 projects over the semester
to master modular programming and debugging.
Skills:
- C++ Programming
- Team Coding Projects
- Modular Programming/ Debugging
MATH 3110
Linear Algebra

- Purpose: Master basics of linear algebra.
-
Covers matrix reduction, calculus,
vector spaces, and eigenvalues and eigenspaces. -
Strong emphasis on matrix algebra
proofs, polynominals, and linear transformations.
Skills:
- Matrix Algebra
- Linear Transformations
- Vectors/Eigenspaces
ECE 1990
Robot Networks

- Purpose: Study/Improve image classification LLM.
-
Covers Pytorch, SGD, debugging,
and editing step values for accuracy. -
Analyzed how LLMs learn and improve
to better understand AI and machine learning.
Skills:
- Pytorch
- LLMs
- AI/ML