Computational approaches to the problem of understanding and producing natural language text and
speech,
including speech processing, syntactic parsing, semantic interpretation, discourse meaning, and the
role
of pragmatics and world knowledge. The course will examine both rule-based and corpus-based
techniques.

This course investigates algorithms to implement resource-limited knowledge-based agents which sense
and act in the world. Topics include, search, machine learning, probabilistic reasoning, natural
language processing, knowledge representation and logic.

This course provides an introduction to the broad field of database and information systems, covering
a variety of topics relating to structured data, ranging from data modeling to logical foundations
and popular languages, to system implementations. We will study the theory of relational and XML
data design; the basics of query languages; efficient storage of data, execution of queries and
query optimization; transactions and updates; web-database development; and "big data" and NoSQL
systems.

Machine learning has been essential to the success of many recent technologies, including autonomous
vehicles, search engines, genomics, automated medical diagnosis, image recognition, and social
network
analysis, among many others. This course will introduce the fundamental concepts and algorithms that
enable
computers to learn from experience, with an emphasis on their practical application to real
problems.
This
course will introduce supervised learning (decision trees, logistic regression, support vector
machines,
Bayesian methods, neural networks and deep learning), unsupervised learning (clustering,
dimensionality
reduction), and reinforcement learning. Additionally, the course will discuss evaluation methodology
and
recent applications of machine learning, including large scale learning for big data and network
analysis.

Development of transportation and its impact on society and the economy. Geometric characteristics of
vehicles. Theory of traction and vehicle dynamic performance. Travel time computations.
Transportation networks. Street design and traffic engineering. Railroad technology and operations.
High-speed railroads. Air transportation system components and operations. Air traffic control and
navigation. Transportation system performance and scheduling.

An introduction to the basic concepts of modern algebra. Linear algebra, eigenvalues and eigenvectors
of
matrices, groups, rings and fields.

This course will initially focus on mathematics related to the media. We will study media behavior
using
game theory, information theory, probability theory, the theory of networks and differential
equations.
The
latter part of the course will be about applying probability theory and differential equations to
understanding various questions arising from the covid-19 epidemic.

A study of the foundations of the differential and integral calculus, including the real numbers and
elementary topology, continuous and differentiable functions, uniform convergence of series of
functions,
and inverse and implicit function theorems.

How do you optimally encode a text file? How do you find shortest paths in a map? How do you design a
communication network? How do you route data in a network? What are the limits of efficient
computation?
This course gives a comprehensive introduction to design and analysis of algorithms, and answers
along
the
way to these and many other interesting computational questions. You will learn about
problem-solving;
advanced data structures such as universal hashing and red-black trees; advanced design and analysis
techniques such as dynamic programming and amortized analysis; graph algorithms such as minimum
spanning
trees and network flows; NP-completeness theory; and approximation algorithms.

This course explores questions fundamental to computer science such as which problems cannot be
solved by
computers, can we formalize computing as a mathematical concept without relying upon the specifics
of
programming languages and computing platforms, and which problems can be solved efficiently. The
topics
include finite automata and regular languages, context-free grammars and pushdown automata, Turing
machines
and undecidability, tractability and NP-completeness. The course emphasizes rigorous mathematical
reasoning
as well as connections to practical computing problems such as test processing, parsing, XML query
languages, and program verification.

In the Fall 2017 semester I studied and researched Graph Theory and Graph Algorithms under the
advisement
of Professor Weinstein in the
Mathematics
department of the School of Arts and Sciences at the University of Pennsylvania in collaboration
with
the Computer and Information Science department at the Engineering School at the University of
Pennsylvania.

You know how to program, but do you know how computers really work? How do millions of transistors
come
together to form a complete computing system? This bottom-up course begins with transistors and
simple
computer hardware structures, continues with low-level programming using primitive machine
instructions,
and
finishes with an introduction to the C programming language. This course is a broad introduction to
all
aspects of computer systems architecture and serves as the foundation for subsequent computer
systems
courses.

In the frame of the Directed Reading Program I studied Principal Component Analysis as a means for
transformation of data. I researched how the best ellipsoid can be fit on the given data as well as
the
linear algebraic method to compute
the PCA and went through the determination of the underlying components and reducing the number of
components. It is also important to underline the theory behind the Singular Value Decomposition
(SVD),
specifically, how to compute the SVD and what we can expect as the result. Finally, I went into
detail
about how to use SVD to use PCA and what the benefits and disadvantages of directly computing PCA
without
the use of SVD.

Python is an elegant, concise, and powerful language that is useful for tasks large and small. Python
has
quickly become a popular language for getting things done efficiently in many in all domains:
scripting,
systems programming, research tools, and web development. This course will provide an introduction
to
this
modern high-level language using hands-on experience through programming assignments and a
collaborative
final application development project.

Unix, in its many forms, runs much of the world's computer infrastructure, from cable modems and cell
phones to the giant clusters that power Google and Amazon. This half-credit course provides a
thorough
introduction to Unix and Linux. Topics will range from critical basic skills such as examin and
editing
files, compiling programs and writing shell scripts, to higher level topics such as the architecture
of
Unix and its programming model.

Functions of several variables, vector-valued functions, partial derivatives and applications, double
and
triple integrals, conic sections, polar coordinates, vectors and vector calculus, first order
ordinary
differential equations. Applications to physical sciences. Use of symbolic manipulation and graphics
software in calculus.

Vectors, matrices, systems of linear equations, vector spaces, subspaces, spans, bases, and
dimension,
eigenvalues, and eigenvectors, maxtrix exponentials. Ordinary differential equations: higher-order
homogeneous and inhomogeneous ODEs and linear systems of ODEs, phase plane analysis, non-linear
systems.

Theories of consumer behavior, demand, production, costs, the firm in various market contexts, factor
employment, factor incomes, elementary general equilibrium, and welfare.
Facts and theories about the determination of per capita income and its differences across
countries
and across time. The study of economic fluctuations in output and employment. The role of government
in
influencing these aggregate variables: monetary and fiscal policy.