What I Do With My Time

Mostly I sit in a decommissioned nuclear reactor and geek all day.

Actually, I'm double-majoring in Computer Science and Applied Math. I put in a huge amount of machine time to work on the many projects that CS assigns as well as the massive homework that every upper-division math class expects. I don't sleep much.

For those curious, I've put together this page to outline what kind of CS and math coursework I've had, and another page to describe the more interesting projects I've worked on. Feel free to hire me.

Lower division CS classes

CS 9C: C For Programmers (Self-Paced)
Self-paced course in the C programming language. Solution of problems drawn mainly from UNIX system programming applications. Michael Clancy was the instructor.

CS 9E: Productive Use Of The Unix Environment (Self-Paced)
File and directory organization and access; built in tools used singly and in combination; the shell comand language; environment customization; process management; maintainence of directories on networked computers. Michael Clancy was the instructor.

CS 60A: The Structure And Interpretation Of Computer Programs
Introduction to programming and computer science, including abstraction at several levels. Manifest types, data-directed programming, and message-passing. Survey of programming languages. Several programming projects. This course was taught using Scheme, a dialect of LISP. Jitendra Malik was the instructor.

CS 60B: Machine Structures
The internal oranization and operation of digital computers. Machine architecture support for high-level languages, logic, arithmetic, instruction sequencing and operating systems (I/O, interrupts, memory management, process switching). Elements of computer logic design. Several small programming assignments. This course was taught in both C and the MIPS R2000 instruction language. Brian Harvey was the instructor.

CS 60C: Data Structures
Fundamental dynamic data structures, including linear lists, queues, trees, hash tables, B-trees, red/black trees, and others. Storage management. Elementary principles of software engineering. Abstract data types. Algorithms for sorting and searching. Several large programming assignments, including a freeway simulation. This course was taught in C++. Katherine Yelick was the instructor.

EECS 42: Introduction to Electronics for Computer Science
Electrical physics; electrical circuits; analysis of passive dc circuits; transient response of passive circuits; sinusoidal steady-state response of passive circuits; operational amplifiers; diodes; bipolar transistors; field-effect transistors; DTL, TTL, and CMOS logic circuits. This course was taken concurrently with EECS 43, a companion hardware laboratory in which the students learn to use oscilloscopes, power supplies, digital multimeters, curve tracers, and spectrum analyzers through a series of experiments. Cormac Conroy was the instructor.

Upper division CS classes

CS 150: Components and Design Techniques for Digital Systems
Basic building blocks and design methods to construct synchronous digital systems. Alternative representations for digital systems. Bipolar TTL vs. MOS implementation technologies. Standard logic vs. programmable logic. Finite state machine design. Digital computer building blocks as case studies. Introduction to computer-aided design software. Formal hardware laboratories. Design and implementation of a large project from TTL parts, starting from an initial proposal and finishing with a working model. Richard Newton was the instructor.

CS 162: Operating Systems
Basic concepts of operating systems and system programming. Utility programs, subsystems, multiple-program systems. Processes, interprocess communication, and synchronization. Memory allocation, segmentation, paging. Loading and linking, libraries. Resource allocation, scheduling, performance evaluation. File systems, storage devices, I/O systems. Protection, security and privacy. Thomas Anderson was the instructor.

CS 164: Programming Languages and Compilers
Survey of programming languages. The design of modern programming languages. Principles and techniques of scanning, parsing, semantic analysis, and code generation. Implementation of compilers, interpreters, and assemblers. Overview of run-time organization and error handling. Larry Rowe was the instructor.

CS 170: Efficient Algorithms and Intractable Problems
Concepts and basic techniques in the design and analysis of algorithms; models of computation; lower bounds; algorithms for optimum search trees; balanced trees and UNION-FIND algorithms; numerical and algebraic algorithms; combinatorial algorithms. Turing machines, how to count steps, deterministic and non-deterministic Turing machines, NP-completeness. Unsolvable and intractable problems. Abhiram Ranade was the instructor.

CS 172: Computability and Complexity
Finite automata, Turing machines and RAMs. Undecidable, exponential, and polynomial-time problems. Polynomial-time equivalence of all reasonable models of computation. Nondeterministic Turing machines. Theory of NP-completeness: Cook's theorem, NP-completeness of basic problems. Selected topics in language theory, complexity and randomness. David Wolfe was the instructor.

CS 174: Combinatorics and Discrete Probability
Permutations, combinations, principle of inclusion and exclusion, generating functions, Ramsey theory. Expectation and variance, Chebyshev's inequality, Chernov bounds. Birthday paradox, coupon collector's problem, Markov chains and entropy computations, universal hashing, random number generation, random graphs and probabilistic existence bounds. Manuel Blum is the instructor.

CS 184: Foundations of Computer Graphics
Introduction to principles of computer graphics. Comparison of various display devices. Two- and three-dimensional transformations such as rotation, scaling, and translation and their matrix representations. Homogeneous corrdinates, projective transformations including several formulas for perspective projection. Algorithms for clipping, hidden surface removal, antialiasing. Lighting models for reflection, transparency. Mathematical techniques for curve and surface representation. Brian Barsky was the instructor.

CS 199: Supervised Independent Study
Independent work on a project of the student's own design under the supervision of a sponsoring professor.

Lower division math classes

M 1A: Calculus
Introduction to differential and integral calculus of functions of one variable, with applications, transcendental functions, and techniques of integration. Tsit-Yuen Lam was the instructor.

M 1B: Advanced Calculus
Techniques of integration; applications of integration. Infinite sequences and series. First order ordinary differential equations; exact equations. Second order ordinary differential equations; oscillation and damping; series solutions of ordinary differential equations. John Addison was the instructor.

M 50A: Linear Algebra and Differential Equations
Basic linear algebra: matrix arithmetic and determinants. Vectors R2 and R3; vector spaces; inner product as spaces. Eigenvalues and eigenvectors; linear transformations. Homogeneous ordinary differential equations; first order differential equations with constant coefficients. Fourier series and partial differential equations. Jamie Sethian was the instructor.

M 50B: Multivariable Calculus
Parametric equations and polar coordinates. Vectors R2 and R3. Partial derivatives. Multiple integrals. Vector calculus. David Blecher was the instructor.

M 55: Discrete Mathematics
Logic, mathematical induction, finite series, sets, relations, and functions, introduction to trees, combinatorics, algebraic structures, discrete probability and statistics. Alexandre Givental was the instructor.

Upper division math classes

M 104: Mathematical Analysis
The real number system. Sequences, limits, and continuous functions in R and 'Rn'. The concept of a metric space. Uniform convergence, interchange of limit operations. Infinite series. Mean value theorem and applications. The Riemann integral. Tatiana Toro was the instructor.

M 110: Linear Algebra
Matrices, vector spaces, linear transformations, inner products, determinants. Eigenvectors. QF factorization. Quadratic forms and Rayleigh's principle. Jordan canonical form, applications. Linear functionals. Ming Gu was the instructor.

M 113: Abstract Algebra
Sets and relations. The integers, congruences and the Fundamental Theorem of Arithmetic. Groups and their factor groups. Commutative rings, ideals and quotient fields. The theory of polynomials: Euclidean algorithm and unique factorizations. The Fundamental Theorem of Algebra. Fields and field extensions. Pavlos Tzermias was the instructor.

M 128A: Numerical Analysis
Programming for numerical calculations, round-off error, approximation and interpolation, numerical quadrature, and solution of ordinary differential equations. Projects written using Matlab. Anne Bourlioux was the instructor.

M 185: Complex Analysis
Analytic functions of a complex variable. Cauchy's integral theorem, power series, Laurent series, singularities of analytic functions, the residue theorem with application to definite integrals. Conformal mapping. Galia Dafni was the instructor.

M 275: Game Theory
Elwyn Berlekamp was the instructor.


Last modified: Thu Jul 13 19:26:49 PDT 1995
Bret Mogilefsky / CSUA / bretm@po.eecs.berkeley.edu