你似乎正在使用中文浏览器,是否要切换至中文版?
Hi, there!
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 hard-working person.

Academic Performance

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 information-hiding. Object-oriented programming. Specifications. Analyzing the efficiency of programs. Recursion.
A
Introduction to Language
Introduction to Language is a general-interest 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/self-adjoint/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 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.
A+
Software Design
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.
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 university-level 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 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.
Data Structures and Analysis
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.
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 medium-sized teams and rapidly-moving 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
User-centred 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: divide-and-conquer, greedy strategies, dynamic programming, linear programming, randomization, network flows, approximation algorithms. Brief introduction to NP-completeness: polynomial time reductions, examples of various NP-complete problems, self-reducibility. 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: context-free 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.
Human-Computer 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 non-linear regression.
Will finish by April 2022
Methods of Data Analysis II
Analysis of variance for one-and two-way 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. N-grams, 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. Object-oriented and object-relational 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, first-order 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 first-order 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 non-task 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, self-study 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 follow-up 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+
Object-oriented programming: C++
Object-oriented programming: C++ focuses on object-oriented programming. The purpose of the course is to introduce object-oriented programming approach to students by teaching C++. Through this course, students will know what the three basic features of object-oriented: 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, self-study 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

My Projects

CP – a highly responsive WordPress Theme 2019
  • CP is a highly responsive WordPress theme designed and developed by Pan Chen, with the features such as fixed header, pop-out panel, dynamic description, read progress indicator, customizability ….
Bank Management System 2019
  • The Bank Management System was developed by my partners and me at University of Toronto when we took the course Software Design. We applied a variety of software design patterns such as Iterator, Observer, Strategy, model–view–controller…. And the system was written in Java.
Fishtank Simulator 2019
  • Given an unfinished codes, I helped develop the functions of the fish tank simulator. For instance, let fish eat seaweeds and let seaweeds recover after being eaten, and let fish follow another fish if set as follower. This program was written in Java.
Prefix trees and Melodies 2018
  • The program stores words and their prefix’s in the Tree data structure. And people can look up a prefix and then get a list of the corresponding words that have the prefix. This program was written in Python.
Library Management System 2018
  • The library management system was developed with my classmates at Northeastern University. This library management system satisfies the basic needs for library management such as borrowing books, returning books, and searching for books. This library management system was written in C++.
Personal Website & Blog 2016 - Present
  • I launched Chen's Notes in 2016, sharing my stories and experiences. And in 2018, I created my personal website for myself with HTML, JS and CSS.

My Past Twenty Years

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 so-called 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.

My Résumé