Teaching Assistant

CSE 140 - Foundations Of Discrete Structures & Algorithms

Spring 2024

Instructor: Prof. Ahmed Hassan

Basic representations used in algorithms: propositional and predicate logic, set operations and functions, relations and their representations, matrices and their representations, graphs and their representations, trees and their representations. Basic formalizations for proving algorithm correctness: logical consequences, induction, structural induction. Basic formalizations for algorithm analysis: counting, pigeonhole principle, permutations. Prerequisites: (MATH 021 or MATH 031 or MATH 051 or MATH 076) and CSE 017. CSE 017 can be taken concurrently.

CSE 160 - Introduction to Data Science

Spring 20191, Spring 20211, Spring 20221, Fall 20232


  1. Prof. Brian D. Davison
  2. Prof. Aparna Bharati

Data Science is an interdisciplinary field focusing on the computational analysis of data to extract knowledge and insight. This course introduces the student to the collection, preparation, analysis, modeling and visualization of data, covering both conceptual and practical issues. Examples from diverse fields will be presented, and hands-on use of statistical and data manipulation software will be included.

CSE 017 - Programming and Data Structures

Fall 20191, Fall 20202


  1. Prof. Arielle K. Carr
  2. Prof. Houria Oudghiri

This course will cover the design and implementation of algorithms using Java. It assumes that students have had prior experience using conditional statements, loops, arrays, etc., in Java, and will build on this knowledge to develop a full understanding of proper object-oriented programming, algorithmic techniques (e.g., divide-and-conquer, recursion), and the design of data structures (e.g., queues, stacks, trees).

CSE 001 - Breadth of Computing

Fall 2018

Instructor: Prof. Daniel Lopresti

The course is intended for students who plan to take further courses in Computer Science (i.e., CSE 002, which can be taken concurrently, and CSE 017, the next course in the computer science sequence), and for those who want to gain understanding about the breadth of computer science topics as part of a general education. No prior experience with computer programming is assumed. There are no prerequisites.