computer science @ cal poly university

in 2018 i moved to california to continue my studies of the computer.

i was initially waitlisted and planned to attend another school, but received an offer a few days after the “national decision day”.

both the “learn by doing” motto and pace of a quarter system were big factors in deciding to study at cal poly.

san luis obispo is also a beautiful town.

ultimately, my choice of school was made by an online poll.

relevant courses

the classes i took had great content and were taught by wonderful professors. i feel so fortunate for all of these teachings.

computer courses

programming an electronic rock was the primary focus of my studies.

me pointing to a screen with code

cpe 202: data structures

with professor parkinson. practice of fundamentals in algorithms made difficult by a very early 7am lecture.

lists and trees were traversed with the powers of recursion. stacks and queues and heaps were implemented to structure data. simple sorting labs and an encoding project suggested uses for these structures.

labs were automatically graded by a bot which was exciting to me.

cpe 203: object oriented programming and design

with professor wood. a mix of graphics with java made this interesting.

objects with various methods, encapsulated logic, and composition all made sense to me. even generics and polymorphism were alright. but inheritance usually made my programs more confusing.

csc 225: intro to computer organization

with professor workman. learning the von neumann model and hand writing assembly was delightful.

stepping through instructions to move values between memory and registers and sometimes doing arithmetic was also cool. it was even cooler to imagine how fast this actually happens.

the powers behind computation became both more clear and more magical with each of these lectures.

csc 307: intro to software engineering

with professor kazerouni. formalizations of development processes in a team setting.

spreads of frontend and backend technologies were joined by design prototypes and version control and philosophies around testing.

product management was practiced with requirements gathered and prioritized for incremental delivery of a calendar scheduling site.

csc 313: teaching computing

with professor kazerouni. notions of notional machines and conceptual bugs in mental models were reviewed.

methodologies in instruction and strategies of student learning were applied to individual tutoring and an interactive workshop introducing api communication and consumption.

awareness when learning new concepts myself became heightened.

cpe 315: computer architecture

with professor seng. optimizations at the cpu cycle that built upon the organizations learned before.

assembly language was parsed and processed in a simulated stepwise instruction pipeline. memory was prefetched with branch predictions.

cache speeds were contextualized and juggling invalidation was seen.

csc 325: intro to privacy

with professor fang. a course better known as “privacy policy”.

moral desires for private personal affairs were defined and debated as corporations and advancing technology encroached on these.

ongoing regulation and otherwise distributed technologies bring hope. but i have nothing to hide anyways.

csc 348: discrete structures

with professor t. migler. mathematical concepts and proofs relating to computer science.

logic was applied to inductive reasoning and graph theory introduced.

hard problems in the field were noted and i tried to solve some.

csc 349: design and analysis of algorithms

with professor gharibyan. making change from greedy algorithms to dynamic programming.

runtimes were measured in big-o with pseudocode as the design tool.

matrices were proven expensive and sorting became an obsession.

cpe 357: systems programming

with professor mammen. involved coursework taught by a demanding instructor.

comprehension of the exactness in c and unix was requisite to lecture and project completion. lingering unfamiliarity would not be accepted.

memory was managed and standard commands recreated. processes communicated too. all while keeping complexity below a threshold.

respect for standards and the appeal of vim emerged from these trials.

csc 365: intro to database systems

with professor a. migler. inquiries of relational models to select results.

puzzles were given to compose queries on a connected dataset and counted as the labs.

relational algebra revealed unrestrained efficiencies in mathematics.

csc 366: database design, modeling, and implementation

with professor a. migler. removing redundancies while staying faithful.

finding functional dependencies to normalize tables stabilized joins while still approximating actual circumstances.

comparison between nosql and sql was conducted and structure won.

csc 369: intro to distributed computing

with professor stanchev. parallel data processing reduced repetition.

dividing problem inputs across multiple machines requested creative mappings.

distributed servers made delightful labs but datasets were never big.

csc 430: programming languages

with professor keen. transforming text files into abstract syntax trees.

elements with syntactic meaning evaluated in a functional manner for computed results showed sensible semantics.

carrying closures between functions kept calls in scope. static typing found strong preference and matching options admiration.

csc 445: theory of computation

with professor vakalis. determining limitations in irregular languages.

decisions to halt a program were deferred while our turing machine supplied spare memory.

foundational complexities of computation mostly remain an enigma.

cpe 453: intro to operating systems

with professor voelker. then professor peterson. scheduling proved a process.

failing to boot the kernel from source on a virtual machine in a virtual lab blocked my first attempt but updated priority allocated another go.

swapping for synchronous schooling persisted memory with pages of notes in a paper file system.

csc 466: knowledge discovery from data

with professor anderson. a combination of statistics and computation.

various methods of using statistics with large datasets were sampled. finding results in this way resembled some basics of machine learning.

neural network constructions and predictive algorithms were covered. all neat topics but not my favorite flavor of math or computer science.

csc 484: user-centered interface design and development

with professor sheets. catering experiences to goals instead of tasks.

expanding intuition into interviews with users shared stories of hope and journeys of frustration.

rapid prototypes and iterating on feedback often is deemed valuable.

csc 491: senior project i

with professor kazerouni and @tim. designing a software engineering course that encourages social good.

wanting to extend our learnings from hack4impact and a desire for department involvement we planned a course around creating projects with community partners.

research into similar classes and existing resources started outlines.

csc 492: senior project ii

with professor kazerouni and @tim. continuing plans for the course.

two quarters of material included partnerships in product and practices in application development with lectures about social good.

professors shared passion for community impact and began advising hack4impact projects. absolutely phenomenal department support!

all of this concluded as a course outline with detailed lecture topics.

mathematics

contagious enthusiasm from friends inspired a curiosity of the number.

after taking some courses a spontaneous coin flip decided a continued path in math for me.

probability was abandoned for all further pursuits.

math 142: calculus ii

with professor hamilton. i skipped the calculus i course with ap credit.

there was so much integration and i never prepared enough for tests. i simply did not do enough practice problems.

my first experience with a rigorous math course was reasonably rough.

math 143: calculus iii

with professor robertson. an inspired professor with varied curriculum.

the infinitesimal was explored through series instead of with the leibniz integral.

the surreal powers of the infinitesimal awed me.

a pinching motion done while explaining these concepts and an equal fascination made lectures so engaging.

polar coordinates and vectors were also taught.

math 241: calculus iv

with professor robertson. continuing lessons into higher dimensions.

partial derivatives and integrals along segments and surfaces were explored.

confusion arose when the definition of a line was applied to segments.

i enjoyed sketching shapes in 3d.

math 244: linear analysis i

with professor jenkins. then professor robertson. i retook this class after struggling the first time.

computation with matrices was fun.

figuring out how much salt was in a tank after five minutes with one gallon of fresh water flowing in each minute and two gallons flowing out was not.

being told that this was the easiest stuff we’d ever learn discounted the struggles. not fun either.

math 248: methods of proof

with professor kaul. the first taste of a more pure mathematics.

taking definitions of basic concepts to then construct logical claims had a beautiful touch.

sets became a fundamental concept and making statements about relationships between sets was often a goal.

this was different from computing numbers.

the well-ordering principle became unusually interesting to me.

math 336: combinatorics

with professor liese. so many ways of counting the countable objects.

proofs were often accomplished by loose pictorial representations.

methods of double counting and claims with the pigeon hole principle were rewarding.

relearning to count and even what counting is were big discoveries.

a very failed midterm nearly concluded my attempt of the math minor.

math 341: theory of numbers

with professor brussel. sermons for the sorcery of natural numbers.

mysticism for the number and all structures related was preached. reminiscent of the pythagorean camps.

representations of numbers without a base consumed my thought.

primes became my everything.

math 481: abstract algebra i

with professor liese. group theory and other underlying constructions.

definitions for binary operations were considered on sets to reveal similarities and uncover foundations.

generating properties of a prime introduced meaning and instilled fear.

all functions are now viewed through the lens of permutation.

math 482: abstract algebra ii

with professor liese. rings and fields that formalized number systems.

transcendentals attempted to escape but were caught by extensions as my arithmetic skills deteriorated.

purpose behind a one and zero became apparent in these universes.

numbers became mere elements and symbols lost meaning as pattern arose.

support courses

becoming a competent engineer required familiarity of related topics.

engl 149: technical writing for engineers

with professor bates. drafting publications and career development.

cover letters and resumes were framed for specific job applications.

condensing research on emerging technologies into digestible memos and constructing risk reports was practiced.

developer documentation was unfortunately omitted from curriculum.

stat 312: statistical methods for engineers

with professor doi. finding significance in collections of numbers.

testing hypotheses and predicting outcomes with a certain amount of confidence were everyday exercises.

estimating with numbers made this flavor of math frightening.

lecture notes were taken in a workbook that offers quality reference.

phil 323: ethics, science, and technology

with professor rentz. questions of goodness in our creation.

philosophical frameworks were used to scrutinize ethical concerns in industry. strategies to alleviate these concerns were recommended.

advice on leading a morally alright career was shared. including some nuance and warning of possible consequence.

i wish this course was encouraged for everyone.

phys 141: general physics i

with professor holtzapple. introducing calculus to kinematics.

high school physics introduced me to the idea of an object in motion. derivations for equations behind this idea were explored here.

phys 132: general physics ii

with professor sanchez. studying pressure and oscillation - or vibes.

obtaining the ideal gas law in experiments was difficult. somehow measuring light was less difficult.

finding dead zones in sound from wave interference was fascinating.

phys 133: general physics iii

with professor fernsler. exploring electrons and electricity in circuits.

building circuits in parallel or series to compare relative brightness of bulbs was illuminating.

taking these labs in an impromptu virtual setting was dulling.

in the first lecture i forgot to mute myself while playing guitar.

general electives

when first signing up for ge courses i was frustrated and confused. these weren’t directly related to computers so what was the point?

i now appreciate this requirement so much.

coms 101: public speaking

with professor cox. my first ever college course and it was at 7am.

nerves and a lack of sleep made this difficult and i never figured out how to make an informative speech engaging.

the important lesson of knowing my audience is now understood.

bio 111: general biology

with professor o’neil and wardle. the survey of everything about life.

the topic on viruses was timely. interactions between organ systems and the importance of sleep and nutrients was instilled.

weekly nature observations were meditative and a reason to explore.

bot 121: general botany

with professor n. rajakaruna and meeder. a love for plants grew here.

terminology was always challenging but unpacking the happenings of a plant brought such wonder.

passionate instructors fueled the appreciation by supporting outdoor observations and with durian.

hist 202: u.s. history since 1865

with professor bridger. reviewing reconstructions until reagan policies.

organized efforts of the masses against oppression tended to unfold into notable lessons.

wealth inequalities during the gilded age and worker movements of the progressive era captured my attention.

mu 221: jazz styles

with professor rinzler. playing across progressions of the genre.

the legacy of louis armstrong was never undersold. everything since originated from these solos.

ideologies of ornette coleman and thelonius monk resonated most.

humanities: philosophy

an online course with credit that transferred. on schools of thought.

i searched for ideal truths but found that everything is meaningless and nothing is real.

at least i think i am.

humanities: sociology

an online course with credit that transferred. about drugs in society.

history around and many effects of the war on drugs were highlighted.

common motivations that bring people to use were discussed. a need to escape is common.

wgs 340: sexuality studies

with professor kalin. investigations into heteronormativity norms.

concepts covered in class offered time to examine personal beliefs on social concepts and dominant structures.

overlapping spectrums of gender were revealed despite the relentless dichotomic forces of capitalism in action.

clubs and organizations

the extracurriculars were where so many other learnings happened. these made for a great college experience!

hack4impact

we built software for local nonprofits and it was all very exciting.

most of my outside energy went towards this club. read more about my various involvements.

music groups

the san luis obispo music scene is solid. so many groups with so much talent appear so often.

these are my engagements with the groups on campus.

jazz band and combos

swing playing interested me so i nervously auditioned for the big band at my first chance and found a seat in the top group!

at our first rehearsal the skill of the other players astonished me.

technical facilities were impressive but most improvisational tastes were completely new to my ears.

this group sounded fantastic and i discovered so much.

i continued playing with big bands and later joined a latin jazz combo. even while improvising remained uncomfortable with nothing to read.

only after years of trying to grasp it did i realize music is heard.

music appreciation club

a small club of friends meeting weekly to share music we liked while eating pizza bought with school funds. it was as good as it sounds.

mustang band

the university marching band was my introduction into college life and where i met so many friendly folks.

the senior trumpet players humbled me with their high note playing.

rehearsals were enjoyable and performances at sporting events were frequent. the band always won.

my friendship with one of the drum majors brought about a summer gig building a website for band camp.

we also performed in the chinese new year parade of 2020!

participating virtually the following year was not as enjoyable and my focus shifted to another club so i dropped marching.

at the end of my fourth year i returned to play at the rodeo.

a celebratory pose with a trumpet at the rodeo