Gary M. Weiss's Teaching

I am currently (Spring 2009) on sabbatical and am not teaching. In Fall 2009 I will be teaching one undergraduate courses, Structures of Computer Science (M, Th 11:30 - 12:45) and one graduate course, Algorithms and Data Analysis (Th 5:30-7:30). If you have any questions about these courses, please email me.

I have taught a variety of courses over the years, but on this page I focus on the courses I teach regularly or have taught recently. I teach several courses in my field of specialization, data mining and machine learning, at both the undergraduate and graduate levels (these courses are described below). If you are interested in these topics or in conducting research with me, you should consider taking one of these courses as early in your studies as feasible. The department of Computer and Information Science is at the cutting edge in that we offer undergraduate courses in data mining and machine learning and require each undergraduate to take a course in one of these two topics. Note: if you are not a CS student but are interested in these topics, please talk to me, since it may be possible to still take some of these courses. I also regularly teach a course in discrete mathematics, called "Structures of Computer Science", which covers most of the areas of mathematics that are critical to computer scientists (but are also very important to other fields). This course satisfies Fordham's mathematical and computational reasoning core curriculum requirement and is typically taken by Freshman.

Courses in Data Mining and Machine Learning

Data Mining involves finding hidden patterns in data using automated or semi-automated "intelligent" methods. Data mining can be viewed as a form of data analysis but the methods that are used tend to come out of artificial intelligence. Machine learning is the subfield of artificial intelligence that is concerned with methods that allow a computer to learn, or (expressed more prosaically) improve their performance over time (and yes, computers can learn). In a way data mining can be viewed as a specific type off machine learning, where the data is typically (but not always) in a database or data warehouse. Learning to predict stock market movements based on historical data or who has a disease based on medical data are examples of data mining (and machine learning), but a robot learning how to navigate a maze would typically be considered machine learning but not data mining. If these topics sound interesting, that is because they are!

At the undergraduate level, I teach CS4631: Data Mining and CS4621: Machine Learning (the machine learning course is relatively new and I will be teaching it for the first time in Fall 2009). Both courses tend to have a project that allows the student to explore a significant issue in the field, because I think it is important to allow students to explore an issue in depth and "get their hands wet." Although not expected, I encourage students to submit their work to workshops or conferences in the field and am happy to say that several students have accepted the challenge and have had their work accepted and published. At the graduate level I teach a course which is essentially an applied course in data mining, CSGA 6950: Algorithms and Data Analysis. This course is frequently taken by students who are not computer scientists but who have a need to analyze data and want to learn (the much in demand) data mining techniques to supplement their knowledge of statistical data analysis techniques. Thus, this course assumes little specific knowledge of computer science, which is not a problem since the course focuses on applying techniques, not understanding the details of how the computer algorithms function. As with the undergraduate class in data mining, this class also includes a significant project. This class, when paired with a course in financial econometrics from the Economics department, enables a student to obtain an advanced certificate in Financial Econometrics and Data Analysis.

Course in "Structures of Computer Science"

This core curriculum course covers many of the topics that make up discrete mathematics. We typically cover sequences and sets, propositional logic, functions, relations, combinatorics (counting and probability), and graph theory (of these topics my favorite by far is combinatorics). In addition, the course includes one or two computer projects, which assume no prior knowledge of computer programming. These projects typically involve creating web pages and/or creating basic animations using a simple "drag-and-drop" user interface. These projects are designed to not just teach you something valuable, but to also be fun. Hopefully if you enjoy them you will consider additional coursework in Computer Science.
 
   
top | Home | CIS Dept. | Fordham