# Courses

## Online Courses

Learning for the sake of learning.

- The Web Developer’s Bootcamp
- This course gives a complete rundown of HTML, CSS and JavaScript for any beginner (like me)! I highly recommend it!

- The Modern Python 3 Bootcamp
- A solid course detailing almost everything there is to the wonderful language of Python!

- Machine Learning by Andrew Ng (IPR)
- A really fascinating topic, one that I am hoping to dive into as soon as possible!

## University Courses

A list of the courses I have taken so far at the University of Toronto!

### Second Year (IPR)

**MAT237: Multivariable Calculus**(*Asif Zaman*)- “Sequences and series. Uniform convergence. Convergence of integrals. Elements of topology in R^2 and R^3. Differential and integral calculus of vector valued functions of a vector variable, with emphasis on vectors in two and three dimensional euclidean space. Extremal problems, Lagrange multipliers, line and surface integrals, vector analysis, Stokes’ theorem, Fourier series, calculus of variations.”

**CSC209: Software Tools and Systems Programing**(*Karen Reid*)- “Software techniques in a Unix-style environment, using scripting languages and a machine-oriented programming language (typically C). What goes on in the operating system when programs are executed. Core topics: creating and using software tools, pipes and filters, file processing, shell programming, processes, system calls, signals, basic network programming.”

**CSC263: Data Structures and Analysis**(*Michelle Craig*)- “Algorithm analysis: worst-case, average-case, and amortized complexity. Expected worst-case complexity, randomized quicksort and selection. Standard abstract data types, such as graphs, dictionaries, priority queues, and disjoint sets. A variety of data structures for implementing these abstract data types, such as balanced search trees, hashing, heaps, and disjoint forests. Design and comparison of data structures. Introduction to lower bounds.”

**STA248: Statistics for Computer Scientists**(Karen Huynh-Wong)- “A survey of statistical methodology with emphasis on data analysis and applications. The topics covered include descriptive statistics, data collection and the design of experiments, univariate and multivariate design, tests of significance and confidence intervals, power, multiple regression and the analysis of variance, and count data. Students learn to use a statistical computer package as part of the course”

**MAT224: Linear Algebra II**(*Sean Uppal*)- “Fields, complex numbers, vector spaces over a field, linear transformations, matrix of a linear transformation, kernel, range, dimension theorem, isomorphisms, change of basis, eigenvalues, eigenvectors, diagonalizability, real and complex inner products, spectral theorem, adjoint/self-adjoint/normal linear operators, triangular form, nilpotent mappings, Jordan canonical form.”

**CSC207: Software Design**(*Lindsey Shorser*)- “An introduction to software design and development concepts, methods, and tools using a statically-typed object-oriented programming language such as Java. Topics from: version control, unit testing, refactoring, object-oriented design and development, design patterns, advanced IDE usage, regular expressions, and reflection. Representation of floating-point numbers and introduction to numerical computation.”

**CSC258: Computer Organization**(*Steve Engels*)- “Computer structures, machine languages, instruction execution, addressing techniques, and digital representation of data. Computer system organization, memory storage devices, and microprogramming. Block diagram circuit realizations of memory, control and arithmetic functions. There are a number of laboratory periods in which students conduct experiments with digital logic circuits.”

**SPA100: Introductory Spanish**(*Ivan Fernandez*)

### First Year

**MAT137: Calculus with Proofs**(*Asif Zaman*)- “A conceptual approach for students with a serious interest in mathematics. Attention is given to computational aspects as well as theoretical foundations and problem solving techniques. Review of Trigonometry. Limits and continuity, mean value theorem, inverse function theorem, differentiation, integration, fundamental theorem of calculus, elementary transcendental functions, Taylor’s theorem, sequence and series, power series. Applications.”

**MAT223: Linear Algebra I**(*Jason Siefkin*)- “Systems of linear equations, matrix algebra, real vector spaces, subspaces, span, linear dependence and independence, bases, rank, inner products, orthogonality, orthogonal complements, Gram-Schmidt, linear transformations, determinants, Cramer’s rule, eigenvalues, eigenvectors, eigenspaces, diagonalization.”

**STA247: Probability with Computer Applications**(*Karen Huynh Wong*)- “Introduction to the theory of probability, with emphasis on applications in computer science. The topics covered include random variables, discrete and continuous probability distributions, expectation and variance, independence, conditional probability, normal, exponential, binomial, and Poisson distributions, the central limit theorem, sampling distributions, estimation and testing, applications to the analysis of algorithms, and simulating systems such as queues”

**CSC148: Introduction to Computer Science**(*Jacqueline Smith*)- “Abstract data types and data structures for implementing them. Linked data structures. Encapsulation and information-hiding. Object-oriented programming. Specifications. Analyzing the efficiency of programs. Recursion”

**CSC165: Mathematical Expression and Reasoning for Computer Science**(*Danny Heap*)- “Introduction to abstraction and rigour. Informal introduction to logical notation and reasoning. Understanding, using and developing precise expressions of mathematical ideas, including definitions and theorems. Structuring proofs to improve presentation and comprehension. General problem-solving techniques. Running time analysis of iterative programs. Formal definition of Big-Oh. Diagonalization, the Halting Problem, and some reductions. Unified approaches to programming and theoretical problems.”

**CSC236: Introduction to the Theory of Computation**(*Colin Morris*)- “The application of logic and proof techniques to Computer Science. Mathematical induction; correctness proofs for iterative and recursive algorithms; recurrence equations and their solutions; introduction to automata and formal languages”

**PSY100: Introduction to Psychology**(*Ashley Denton*)- A brief introductory survey of psychology as both a biological and social science. Topics will include physiological, learning, perceptual, motivational, cognitive, developmental, personality, abnormal, and social psychology.

- A brief introductory survey of psychology as both a biological and social science. Topics will include physiological, learning, perceptual, motivational, cognitive, developmental, personality, abnormal, and social psychology.