I am Pan Chen.
I am studying Computer Science at the University of Toronto.
My main focuses are Artificial Intelligence and Computational Linguistics And Natural Language Processing.
I am a friendly, helpful and hardworking person.
Specialist: Computer Science
Minor: Statistics Science, Eastern Asian Studies
Degree: Honours Bachelor Of Science
Focuses: Artificial Intelligence, Computation Linguistics And Natural Language Processing
Credits: 8 + 0.5 (in process)
Projects: 5
Publications: 0
Rewards: 0
CGPA: 3.95
Name  Description 
Grade 
Introduction to Computer Science 
Abstract data types and data structures for implementing them.
Linked data structures. Encapsulation and informationhiding. Objectoriented programming. Specifications. Analyzing the efficiency of programs. Recursion. 
A 
Introduction to Language 
Introduction to Language is a generalinterest course on language. Possible topics include: the structure of language;
how language changes over time, the social and psychological aspects of language, language and culture, the origin of language, writing systems, and language acquisition. 
A 
English Words 
English has a rich vocabulary. We will learn how it has developed over time, and investigate aspects of the meaning and pronunciation of words. Most of all,
we will study how words are put together, so that students will be able to recognize and analyze unfamiliar words. 
Credit 
Principles of Microeconomics 
An introduction to economic analysis and its applications: price determination, market structure,
decision making by individuals and firms, public policy. NOTE: extensive use of graphical and quantitative analysis. 
Credit 
Linear Algebra II 
Fields, complex numbers, vector spaces over a field, linear transformations, matrix of a linear transfromation, kernel, range, dimension theorem,
isomorphisms, change of basis, eigenvalues, eigenvectors, diagonalizability, real and complex inner products, spectral theorem, adjoint/selfadjoint/normal linear operators,
triangular form, nilpotent mappings, Jordan canonical form. 
A 
Mathematical Expression and Reasoning for Computer Science 
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 problemsolving techniques.
Running time analysis of iterative programs. Formal definition of BigOh. Diagonalization, the Halting Problem, and some reductions. Unified approaches to programming
and theoretical problems. 
A+ 
Software Design 
An introduction to software design and development concepts, methods, and tools using a staticallytyped
objectoriented programming language such as Java. Topics from: version control, unit testing, refactoring, objectoriented design and
development, design patterns, advanced IDE usage, regular expressions, and reflection. Representation of floatingpoint numbers and introduction to numerical computation. 
A 
Globalization and Urban Change 
Focusing on the impacts that global flows of ideas, culture, people, goods, and capital have on cities throughout the globe,
this course explores some of the factors that differentiate the experiences of globalization and urban change in cities at different moments in history and in various geographic
locations. 
Credit 
Probability with Computer Applications 
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. 
A 
Computer Organization 
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. 
A 
Cumulative GPA: 3.95 

In Process  
Introduction to the Theory of Computation 
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. This course assumes universitylevel experience with
proof techniques and algorithmic complexity as provided by CSC165H1. 

Will finish by December 2019  
Software Tools and Systems Programming 
Software techniques in a Unixstyle environment, using scripting languages and a machineoriented 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. 

Data Structures and Analysis 
Algorithm analysis: worstcase, averagecase, and amortized complexity. Expected worstcase 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. 

Introduction to Databases 
Introduction to database management systems. The relational data model. Relational algebra. Querying and updating databases: the query language SQL. Application programming with SQL. Integrity constraints, normal forms, and database design. Elements of database system technology: query processing, transaction management. 

Will finish by April 2020  
Multivariable Calculus 
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. 

Introduction to Software Engineering 
An introduction to agile development methods appropriate for mediumsized teams and rapidlymoving projects. Basic software development infrastructure; requirements elicitation and tracking; estimation and prioritization; teamwork skills; basic UML; design patterns and refactoring; security, discussion of ethical issues, and professional responsibility. 

Introduction to Machine Learning 
An introduction to methods for automated learning of relationships on the basis of empirical data. Classification and regression using nearest neighbour methods, decision trees, linear models, and neural networks. Clustering algorithms. Problems of overfitting and of assessing accuracy. Basics of reinforcement learning. 

Introduction to Artificial Intelligence 
Theories and algorithms that capture (or approximate) some of the core elements of computational intelligence. Topics include: search; logical representations and reasoning, classical automated planning, representing and reasoning with uncertainty, learning, decision making (planning) under uncertainty. Assignments provide practical experience, in both theory and programming, of the core topics. 

Modern Standard Japanese I 
This course is for students with no or a very limited background in Japanese. 

Will finish by August 2021  
The Design of Interactive Computational Media 
Usercentred design of interactive systems; methodologies, principles, and metaphors; task analysis. Interdisciplinary design; the role of graphic design, industrial design, and the behavioural sciences. Interactive hardware and software; concepts from computer graphics. Typography, layout, colour, sound, video, gesture, and usability enhancements. Classes of interactive graphical media; direct manipulation systems, extensible systems, rapid prototyping tools. Students work on projects in interdisciplinary teams. 

Statistics for Computer Scientists 
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. 

Will finish by December 2021  
Algorithm Design, Analysis & Complexity 
Standard algorithm design techniques: divideandconquer, greedy strategies, dynamic programming, linear programming, randomization, network flows, approximation algorithms. Brief introduction to NPcompleteness: polynomial time reductions, examples of various NPcomplete problems, selfreducibility. Additional topics may include approximation and randomized algorithms. Students will be expected to show good design principles and adequate skills at reasoning about the correctness and complexity of algorithms. 

Computational Linguistics 
Computational linguistics and the processing of language by computer. Topics include: contextfree grammars; chart parsing, statistical parsing; semantics and semantic interpretation; ambiguity resolution techniques; reference resolution. Emphasis on statistical learning methods for lexical, syntactic, and semantic knowledge. 

HumanComputer Interaction 
Understanding human behaviour as it applies to user interfaces: work activity analysis, observational techniques, questionnaire administration, and unobtrusive measures. Operating parameters of the human cognitive system, task analysis and cognitive modelling techniques and their application to designing interfaces. Interface representations and prototyping tools. Cognitive walkthroughs, usability studies and verbal protocol analysis. Case studies of specific user interfaces. 

Operating Systems 
Principles of operating systems. The operating system as a control program and as a resource allocator. The concept of a process and concurrency problems: synchronization, mutual exclusion, deadlock. Additional topics include memory management, file systems, process scheduling, threads, and protection. 

Methods of Data Analysis I 
Introduction to data analysis with a focus on regression. Initial Examination of data. Correlation. Simple and multiple regression models using least squares. Inference for regression parameters, confidence and prediction intervals. Diagnostics and remedial measures. Interactions and dummy variables. Variable selection. Least squares estimation and inference for nonlinear regression. 

Will finish by April 2022  
Methods of Data Analysis II 
Analysis of variance for oneand twoway layouts, logistic regression, loglinear models, longitudinal data, introduction to time series. 

Neural Networks and Deep Learning 
An introduction to neural networks and deep learning. Backpropagation and automatic differentiation. Architectures: convolutional networks and recurrent neural networks. Methods for improving optimization and generalization. Neural networks for unsupervised and reinforcement learning. 

Natural Language Computing 
Introduction to techniques involving natural language processing and speech in applications such as information retrieval, speech recognition and synthesis, machine translation, summarization, and dialoque. Ngrams, corpus analysis, neural methods, and information theory. Python and other software. 

Database System Technology 
Implementation of database management systems. Storage management, indexing, query processing, concurrency control, transaction management. Database systems on parallel and distributed architectures. Modern database applications: data mining, data warehousing, OLAP, data on the web. Objectoriented and objectrelational databases. 

Introductory 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. 
Name  Description 
Grade 
Discrete mathematics (1) 
Discrete Mathematics (Part I) is the study of mathematical structures that are fundamentally discrete rather than continuous. It is regarded as the theoretical foundation course for computer science because many concepts and notations from discrete mathematics are useful in studying and describing objects and problems in branches of computer science, such as operating system, data structures, advanced programming languages, cryptography, and database Principles.Topics covered in the course of Discrete Mathematics (1) include Boolean algebra, firstorder logic (proposition logic and predicate logic), set theory, binary relation, and function. Mathematical logic (also symbolic logic, formal logic) is a subfield of mathematics with close connections to the foundations of mathematics, theoretical computer science and philosophical logic. The field includes both the mathematical study of logic and the applications of formal logic to other areas of mathematics. Set theory is the branch of mathematics that studies set, which are collections of objects, and the related computations. Mathematical logic, especially firstorder logic, and set theory is viewed as the foundation of axiomatic mathematics. Binary relation and function further explore the relations among sets as well as the computation rules and corresponding features under these relations. The course has two major thrusts which complement each other nicely: increasing the mathematical sophistication (proofs and logic) and introducing the mathematical foundation of computer science. 
A 
Fundamentals of Programming (The C language) 
《Fundamentals of Programming (The C language)》 for the information offered undergraduate students, the ability to train students for the purpose of programming the public basic course, is to learn the basis for other courses, but also the first high level language programming classes.
The course is a combination of general nontask numerical computer program designed to introduce students to the basic knowledge to enable students to master the basic syntax of the C language, to master the basic program design ideas, basic concepts and methods and techniques, and to apply the learned knowledge and skills of the general problem analysis and program design, the preparation of efficient C language application; while understanding for scientific computing in general ideas, develop computer applications to solve practical problems and deal with the basic skills of thinking for further learning and application computer basis. 
A 
Introduction to Computer Science 
Introduction to Computer Science is a professional technical course for computer science and technology specialty. Through learning basic computer components and working principle (binary data and arithmetic, logical data and its operations, logic components, the composition of simple computer, etc) and cell technologies, the main task of this course is to make students have a more complete understanding of computer hardware and software technology, enable students to establish the basic framework of knowledge, to master the basic knowledge of computer science and the methods of engineering practice; This course will teach students how to think more methodically and how to solve practical problems more effectively, thus to lay a solid foundation for future study in computer science, development and practical application. 
A 
Linear algebra I 
Linear algebra is a classical curriculum for discussing linear relationship in mathematics. Its basic concepts, theories and methods possess strong abstract, logicality and wide applicability. Therefore, linear algebra is an important basic mathematical course for the science, engineering, economics, management and other subjects. In fact, linear problems are widely used in various fields of science and technology while some nonlinear problems can be transformed into linear problems under certain conditions. Since the importance of scientific computation is increasingly outstanding, the status and role of linear algebra are more significant, which make it to be an important mathematical tool in natural science and engineering technology. Linear algebra includes determinant, matrices, linear relation of vector group, linear system of equations, similarity matrix diagonalization, quadratic form, linear spaces, linear transformations and so on. Through the study of linear algebra, students are able to master the basic theory and methods. It can improve the students' scientific computing ability, logistic thinking and reasoning ability to help students form a good foundation for the further expansion of mathematical knowledge and learning related curriculum theory. Moreover, it can also improve students' mathematical attainments and cultivate their exploration spirit and innovation ability. 
B+ 
Advanced mathematics (1) 
Advanced mathematics is one of the most important fundamental courses in the universities of science and technology. This course covers limits and continuity, derivatives and differentials, Mean Value Theorem of differentials and applications of derivatives, integrals, applications of integrals and infinite series. The course is not only the foundation of specialty courses in engineering, but also the base of other mathematics courses. A fine grasp of advanced mathematics leads you to every domain of mathematics. The learning on advanced mathematics enables students to systematically obtain the basic knowledge of Calculus, foster their capabilities of computation, abstract thinking, image thinking, logical reasoning, selfstudy and mathematical modeling. It aims to provide students training on general concepts, theory and methodology of mathematical analysis by mastering the important mathematical thinking methods. It gives students capabilities of solving the problems on geometry, physics and other real applications, providing a foundation for learning the following curricula and knowledge. The learning on advanced mathematics lays a strong foundation on mathematics theory for students and trains their basic computational skills. Meanwhile it enhances students’ mathematical accomplishments and their ability of exploiting mathematical thinking and logic for observing the world, analyzing and solving problems. 
C+ 
Computer skill training 
《Computer skill training》 is one of the important teaching link of undergraduate, Through this course, strengthen students' computer application skills, theoretical knowledge, consolidate and enrich students' validation studies, to deepen the understanding of relevant content, broaden their knowledge, cultivating students' innovative spirit and practical ability. 
A 
Discrete mathematics (2) 
This course is the followup course of "Discrete Mathematics 1," which mainly learns the basic theories and methods in algebra structure and graph theory. It is the advance application part of "discrete mathematics". In this course, it also will discuss the mathematical base that will be used in the scientific research of computer science and technology. So this course is not only an important theoretical basic course for computer science and technology, but also a backbone course for computer science and technology. Different from “Discrete Mathematics 1”, this course focus more on linking theory with practice. And many contents are derived from practical problems, thus much of its knowledge has strong application prospects. Through this course, students can master not only the basic knowledge in algebra structure and graph theory, but also the logical thinking and logical reasoning abilities, along with the ability of apply the theoretical knowledge to solve practical problems. This is very important for the further learn other theories in computer science and technology. 
A 
Fundamentals of Physics (1) 
Physics is the most basic of the sciences. It deals with the behavior and structure of matter. The field of physics is usually divided into the areas of motion, fluids, heat, sound, light, electricity and magnetism, which is referred to as classical physics; plus the modern physics topics of relativity, atomic structure, condensed matter, nuclear physics, elementary particles, and astrophysics. The fundamentals of physics need to be understood by anyone who hopes to make a career in the sciences or technology: physicists, engineers, chemists, astronomers, mathematicians, geologists, biologists. All the sciences use physics as a fundamental basis, and so does engineering. Engineers, for example, must understand how to use the laws of thermodynamics to design heating systems; they must understand optics and electromagnetism to design medical imaging systems; and they must know how to calculate the forces within a structure in order to design a structure that will remain standing, as we see.
In the course, using of English teaching resources could make students have the opportunity to feel what look like the teaching of world famous universities. Though Bilingual College Physics course，，students should learn to understand and communicate knowledge of science and technology with English .This course involves the electricity，，magnetism, wave optics, and basics concepts of special relativity and etc. 
A+ 
Objectoriented programming: C++ 
Objectoriented programming: C++ focuses on objectoriented programming. The purpose of the course is to introduce objectoriented programming approach to students by teaching C++. Through this course, students will know what the three basic features of objectoriented: encapsulation, Inheritance and Polymorphism and so on. 
A+ 
Advanced mathematics (2) 
Advanced mathematics is one of the most important fundamental courses in the universities of science and technology. This course covers limits and continuity, derivatives and differentials, Mean Value Theorem of differentials and applications of derivatives, integrals, applications of integrals and infinite series. The course is not only the foundation of specialty courses in engineering, but also the base of other mathematics courses. A fine grasp of advanced mathematics leads you to every domain of mathematics. The learning on advanced mathematics enables students to systematically obtain the basic knowledge of Calculus, foster their capabilities of computation, abstract thinking, image thinking, logical reasoning, selfstudy and mathematical modeling. It aims to provide students training on general concepts, theory and methodology of mathematical analysis by mastering the important mathematical thinking methods. It gives students capabilities of solving the problems on geometry, physics and other real applications, providing a foundation for learning the following curricula and knowledge. The learning on advanced mathematics lays a strong foundation on mathematics theory for students and trains their basic computational skills. Meanwhile it enhances students’ mathematical accomplishments and their ability of exploiting mathematical thinking and logic for observing the world, analyzing and solving problems. 
A 
Introduction to Deep Learning 
Please note that this course was offered by both Northeastern University and University of Arkansas at Little Rock. The main topic was a brief introfuction to Deep Learning and how to use Tensorflow to build a simple neural network. 
A 
Cumulative GPA: 3.62 
Name  Description 
Grade 
Introduction to Deep Learning 
Please note that this course was offered by both Northeastern University and University of Arkansas at Little Rock. The main topic was a brief introfuction to Deep Learning and how to use Tensorflow to build a simple neural network. 
A 
Cumulative GPA: Not Applicable 
I was born and raised in Fuzhou, a coastal city in the southeastern China. I spent my first eighteen years there. Many memories were formed.
I was a bad student until Grade 8, when I transformed myself into a socalled good student. I don't know why I decided to make such change and locked my PSP in the safe at that time. But thanks to that year's hard working, I was able to continue my studies at the best high school in the province  Fuzhou No.1 Middle School and this is what I feel proudest of even today.
And after I graduated from Fuzhou No.1 Middle School in 2017. I moved to Shenyang to study Computer Science and Technology at Northeastern University. There, I decided to make another major change in my life. I chose to apply for University of Toronto and got a place with my strong academic performance. And I came to where I am in late August, 2018.
Personally, I am a responsible person and I own a wide range of interests, from music, movie to history, politics and so on. During my spare time, I work on my debut novel, a book based on my high school life.