Classes
I’m a junior/third year at MIT studying computer science.
I spent my first year (fall 22, spring 23) at the University
of Manchester, then transferred to MIT.
Fall 2022
Math Foundation and Analysis
Covered logical statements and proof techniques, set theory,
complex numbers, functions (including composition and
inversion), sequences (convergence and limits), and real-valued
functions (continuity and limits).
Introduction to Programming 1
Covered fundamental concepts including variables, types,
iteration, selection, file handling, functions, packages,
libraries, graphics, key binding, validation, exceptions, and
basic algorithms. Focused on writing, optimizing, and debugging
Python code, developing logical problem-solving skills, and
object-oriented programming principles.
Linear Algebra
Covered matrix operations, special matrix classes, solving
linear systems, determinants, eigenvalues, eigenvectors, linear
independence, basis, linear transformations, inner products,
norms, and isometries.
First Year Project
Focused on developing non-technical skills through team-based
projects. Covered teamwork, communication, reflection,
self-organization, time management, and independent learning.
Worked on understanding ethical frameworks in computer science,
intellectual property issues, and developing a web-based
information system. Emphasized inquiry-based learning, group
work, goal-setting, and project management. Included technical
presentations, report writing, and reflection on professional
development.
Spring 2023
Probability 1
Introduced core probability concepts including probability
spaces, conditional probability, independence, and
discrete/continuous random variables. Covered classical
distributions (Binomial, Geometric, Poisson, Normal,
Exponential), expectation/variance calculations, and
foundational theorems like the Central Limit Theorem and Law of
Large Numbers. Emphasized modeling real-world randomness and
applying distributions to scenarios like coin flips, waiting
times, and sums of variables.
Introduction to Programming 2
This course covered advanced Java programming, focusing on
object-oriented design, UML class design, inheritance,
polymorphism, interfaces, and abstraction. Included Java
Collections Framework, custom data structures, JavaFX for GUI
development, file I/O, error handling, generics, streams,
concurrency, and package management.
Data Science
Introduced the data science process, focused on data cleaning,
exploration, and visualization using Python tools like NumPy,
Pandas, and Jupyter Notebooks. It covered uncertainty
measurement, statistical thinking, Bayesian reasoning, and
ethical considerations in data analysis. Students learned
machine learning basics, including classification, regression,
model evaluation, and techniques like naive Bayes and logistic
regression, with practical applications such as building an
email spam filter.
Introduction to ODEs
Introduced ordinary differential equations (ODEs), covered
classification, analytical solution methods for first and
second-order ODEs, and approximate techniques (graphical,
numerical, Euler method). Emphasized applications in various
fields like Newtonian mechanics, population models, economics,
and biology. Learned to classify ODEs, assess solution
existence/uniqueness, apply analytical techniques, perform phase
plane analysis for first-order systems, and interpret numerical
approximations for initial value problems.
First Year Project
Focused on developing non-technical skills through team-based
projects. Covered teamwork, communication, reflection,
self-organization, time management, and independent learning.
Worked on understanding ethical frameworks in computer science,
intellectual property issues, and developing a web-based
information system. Emphasized inquiry-based learning, group
work, goal-setting, and project management. Included technical
presentations, report writing, and reflection on professional
development.
Fall 2023
Fundamentals of Programming
Introduced fundamental concepts of programming. Developed skills
in applying basic methods from programming languages to abstract
problems. Topics included programming and Python basics,
computational concepts, software engineering, algorithmic
techniques, data types, and recursion.
Lab component consisted of software design, construction, and
implementation of design.
Introduction to Algorithms
Introducted mathematical modeling of computational problems,
common algorithms, algorithmic paradigms, and data structures
used to solve these problems. Emphasized the relationship
between algorithms and programming, and introduced basic
performance measures and analysis techniques for these problems.
Probability and Random Variables
Probability spaces, random variables, distribution functions.
Binomial, geometric, hypergeometric, Poisson distributions.
Uniform, exponential, normal, gamma and beta distributions.
Conditional probability, Bayes theorem, joint distributions.
Chebyshev inequality, law of large numbers, and central limit
theorem.
Calculus II
Calculus of several variables. Vector algebra in 3-space,
determinants, matrices. Vector-valued functions of one variable,
space motion. Scalar functions of several variables: partial
differentiation, gradient, optimization techniques. Double
integrals and line integrals in the plane; exact differentials
and conservative fields; Green’s theorem and applications,
triple integrals, line and surface integrals in space,
Divergence theorem, Stokes’ theorem; applications.
Introductory Biology
Introduction to fundamental principles of biochemistry,
molecular biology and genetics for understanding the functions
of living systems. Covered examples of the use of chemical
biology, the use of genetics in biological discovery, principles
of cellular organization and communication, immunology, cancer,
and engineering biological systems. Included 21st-century
molecular genetics in understanding human health and therapeutic
intervention.
Principles of Chemical Science
Introduction to chemistry, with emphasis on basic principles of
atomic and molecular electronic structure, thermodynamics,
acid-base and redox equilibria, chemical kinetics, and
catalysis. Introduction to the chemistry of biological,
inorganic, and organic molecules.
Writing and Experience
Acting as participant-observers, investigated MIT’s history and
culture through visits to the Institute’s archives and museums,
relevant readings, and depictions of MIT in popular culture.
Spring 2024
Software Construction
Introduced fundamental principles and techniques of software
development: how to write software that is safe from bugs, easy
to understand, and ready for change. Topics included
specifications and invariants; testing, test-case generation,
and coverage; abstract data types and representation
independence; design patterns for object-oriented programming;
concurrent programming, including message passing and shared
memory concurrency, and defending against races and deadlock;
and functional programming with immutable data and higher-order
functions. Included weekly programming exercises and larger
group programming projects.
Design and Analysis of Algorithms
Techniques for the design and analysis of efficient algorithms,
emphasized methods useful in practice. Topics included sorting;
search trees, heaps, and hashing; divide-and-conquer; dynamic
programming; greedy algorithms; amortized analysis; graph
algorithms; and shortest paths. Advanced topics included network
flow; polynomial and matrix calculations; caching; and parallel
computing.
Introduction to Low-level Programming in C and Assembly
Introduction to C and assembly language. Studied the C language,
focusing on memory and associated topics including pointers, how
different data structures are stored in memory, the stack, and
the heap in order to build a strong understanding of the
constraints involved in manipulating complex data structures in
modern computational systems. Studied assembly language to
facilitate a firm understanding of how high-level languages are
translated to machine-level instructions.
Introduction to Machine Learning
Introduction to the principles and algorithms of machine
learning from an optimization perspective. Topics included
linear and non-linear models for supervised, unsupervised, and
reinforcement learning, with a focus on gradient-based methods
and neural-network architectures.
The Meaning of Life
Examined how a variety of cultural traditions propose answers to
the question of how to live a meaningful life. Considered the
meaning of life, not as a philosophical abstraction, but as a
question that individuals grapple with in their daily lives,
facing difficult decisions between meeting and defying cultural
expectations. Provided tools for thinking about moral decisions
as social and historical practices, and encouraged comparison
and contextualizaiton of the ways people in different times and
places approach fundamental ethical concerns.
Fall 2024
Theory of Computation
Computability and computational complexity theory. Regular and
context-free languages. Decidable and undecidable problems,
reducibility, recursive function theory. Time and space measures
on computation, completeness, hierarchy theorems, inherently
complex problems, oracles, probabilistic computation, and
interactive proof systems.
Art, Craft, Science
Examined how people learn, practice, and evaluate traditional
and contemporary craft techniques. Social science theories of
design, embodiment, apprenticeship learning, skill, labor,
expertise, and tacit knowledge were used to explore distinctions
among art, craft, and science. Discussed the commoditization of
craft into market goods, collectible art, and tourism
industries. Ethnographic and historical case studies included
textiles, Shaker furniture, glassblowing, quilting,
cheesemaking, industrial design, home and professional cooking,
factory and laboratory work, CAD/CAM. Included demonstrations,
field trips, and hands-on craft projects.
Anthropology of Sound
Examined the ways humans experience sound and how perceptions
and technologies of sound emerge from cultural, economic, and
historical worlds. Considered how the sound/noise/music
boundaries have been imagined, created, and modeled across
sociocultural and historical contexts. Learned how
environmental, linguistic, and musical sounds are construed
cross-culturally as well as the rise of telephony, architectural
acoustics, sound recording, multi-channel and spatial mix
performance, and the globalized travel of these technologies.
Questions of sound ownership, property, authorship, remix, and
copyright in the digital age were also addressed.
Negotiation and Influence Skills for Technical Leaders
Focused around the premise that the abilities to negotiate with,
and influence others, are essential to being an effective leader
in technology rich environments. Provided underlying principles
and a repertoire of negotiation and influence skills that apply
to interpersonal situations, particularly those where an
engineer or project leader lacks formal authority over others in
delivering results. Utilized research-based approaches through
the application of multiple learning methods, including
experiential role plays, case studies, assessments, feedback,
and personal reflections. Concepts such as the zone of possible
agreements, best alternative to negotiated agreements, and
sources of influence were put into practice.
Entrepreneurial Negotiation
Combined negotiation exercises and in-person lectures designed
to empower budding entrepreneurs with negotiation techniques to
protect and increase the value of their ideas, deal with ego and
build trust in relationships, and navigate entrepreneurial
bargaining under constraints of economic uncertainty and complex
technical considerations. Completed scheduled weekly
assignments, including feedback memos to counterpart
negotiators, and met to discuss and reflect on their experiences
with the course.
Introduction to Urban Design and Development
Examined the evolving structure of cities and the way that
cities, suburbs, and metropolitan areas can be designed and
developed. Surveyed the ideas of a wide range of people who have
addressed urban problems. Stressed the connection between values
and design. Demonstrated how physical, social, political and
economic forces interact to shape and reshape cities over time.
Introduced links between urban design and urban science.
Spring 2025
Advanced Complexity Theory
Current research topics in computational complexity theory.
Nondeterministic, alternating, probabilistic, and parallel
computation models. Boolean circuits. Complexity classes and
complete sets. The polynomial-time hierarchy. Interactive proof
systems. Relativization. Definitions of randomness.
Pseudo-randomness and derandomizations. Interactive proof
systems and probabilistically checkable proofs
Includes personal research project (topic TBD for me).
Computation Structures
Introduction to the design of digital systems and computer
architecture. Emphasizes expressing all hardware designs in a
high-level hardware description language and synthesizing the
designs. Topics include combinational and sequential circuits,
instruction set abstraction for programmable hardware,
single-cycle and pipelined processor implementations,
multi-level memory hierarchies, virtual memory, exceptions and
I/O, and parallel systems.
Medical Device Design
An intense project-based learning experience around the design
of medical devices with foci ranging from mechanical to electro
mechanical to electronics. Projects motivated by real-world
clinical challenges provided by sponsors and clinicians who also
help mentor teams. Covers the design process, project
management, and fundamentals of mechanical and electrical
circuit and sensor design. Working in a small team to execute a
substantial term project, with emphasis placed upon developing
creative designs — via a deterministic design process — that are
developed and optimized using analytical techniques.
Electronics Project Lab
Intuition-based introduction to electronics, electronic
components, and test equipment such as oscilloscopes,
multimeters, and signal generators. Key components studied and
used are op-amps, comparators, bi-polar transistors, and diodes
(including LEDs). Design, build, and debug small electronics
projects (often featuring sound and light) to put their new
knowledge into practice.
Writing and Reading Poems
Examination of the formal structural and textual variety in
poetry. Extensive practice in the making of poems and the
analysis of both students’ manuscripts and texts from 16th-
through 20th-century literature. Attempts to make relevant the
traditional elements of poetry and their contemporary
alternatives.
Other Stuff
Project Engineering
Attended and participated in a four-day off-site workshop
covering an introduction to basic principles, methods, and tools
for project management in a realistic context. In a team,
created a plan for a project in farm automation. Developed
skills applicable to the planning and management of complex
engineering projects. Topics included cost-benefit analysis,
resource and cost estimation, and project control and delivery
which were practiced during an experiential, team-based
activity. Case studies highlighted projects in both
hardware/software and consumer packaged goods.
Gordon-MIT Engineering Leadership Program
Selective leader development program focused on being an
effective member and leader of industry engineering teams.
Actively practicing leadership, teamwork, and communication
skills in an engineering context; complementing MIT’s technical
coursework.
Undergraduatae Practice Opportunities Program
Honed teamwork, problem solving, and communication skills
through professional development themed workshops, discussions,
modules, and mentorship. Collaborated with a team of six peers
over the course of a 4-day workshop to ideate, research, and
present a theoretical sustainable dorm at MIT to c-suite level
executives.