Open Courseware

Pattern Recognition

This course teaches students the basics of learning the relationships between an output (the response variable) and the set of inputs (the predictors) in a particular problem. Two major subfields will be studied:

regression, where the response is quantitative (has values), and classification, where the response is qualitative (has labels, e.g., diseased or nondiseased).

Another objective is to get the students to the level of analyzing real life data sets and designing the appropriate learning function to minimize the prediction error. This will be fulfilled through the computer exercises and the course project.

Data Structures

This course is a fundamental course for any computer science student. The basic objective is to implement and teach the student the details of the basic data structures that are necessary for any serious programming. By the end of the course, and with the help of assignments, the student will have acquired the talent of designing new structures that are necessary for special kind of applications.

Probability and Statistics I

This is a standard course in probability theory for students in applied sciences. The course covers the basics of probability theory and emphasizes the importance of both mathematical rigor and intuition. For fulfilling that objective we cover almost all proofs, give the intuition behind the mathematics, and give many examples from real life applications and by using real datasets. After finishing that course the student should be comfortable when exposed to basic probability concepts during his study in computer science.

Probability and statistics II

This is a standard course in Statistics for students in applied sciences. The objective of this course is to prepare the student for analyzing data. All fundamentals of statistical analysis will be taught in this course. This includes, theory of point estimation, testing hypothesis, representing data and data visualization, and comparing two samples. For fulfilling that objective we cover almost all proofs, give the intuition behind the mathematics, and give many examples from real life applications and by using real datasets. After finishing that course the student should be very comfortable with dealing with data analysis and ready to more advanced courses, e.g., Pattern Recognition and Machine Learning.

Programming Language 2

This course is fundmental for any programmmer who would like to understand basics of C++ and object orineted programming. The course go through C basic concepts and move towards advanced topics of C++ like polymorphism, templates, files ..etc. The student will learn basics of modeling and desigining large scale applications using basic class diagrams.