Developed a personal site throughout the term, while learning HTML, CSS, and JavaScript. Utilized Bootstrap, JQuery, and Photoshop for assignments.
Learned how to use a number of various proof techniques such as contradiction, induction, and etc. Studied set theory, boolean logic and various theorems such as graph theory, number theory, and group theory.
Implemented Stacks, Queues, Linked lists, and Binary Trees from scratch in Java. Analyzed algorithm efficiency and how to modify said algorithms to become more efficient.
Learned the internal structure of computers, Assembly language, and how to use pointers in C.
Learned about process scheduling and synchronization, deadlocks, memory management, input-output, and file systems.
Designed appropriate data structures and analyzed the efficiency of the algorithms which use them. Implemented Dijkstra's, Greedy Algorithms, Dynamic Programming, BFS, and more.
Studied Systems of linear equations, matrices, vectors, vector spaces, linear transformations, Eigenvalues, eigenvectors, Gaussian elimination, and Cramer’s rule.
Utilized mainly p5 and JavaScript to create interactive graphical environments. Topics covered were virtual reality, image processing, video games, and augmented reality.
Utilized CUDA, MPI, and OpenMP in C to write parallel code. Analyzed speedup of code relative to sequential solutions.
Focused on the learning, representation and reasoning, and natural language processing areas of A.I. Learned about state spaces, implemented the Davis-Putnam algorithm, completed predicate calculus assignments, and more.
Learned about the architecture of networks and the algorithms that enable large-scale networks and smaller scale networks.
Developed a web application with two other classmates that lasted throughout the entire semester. Delved into topics such as design, modeling, databases, project methodologies, continuous integration, and more.