Textbook: Python Programming: An Introduction to Computer Science

Course Description This is the first of a two-part course sequence to train students with a linguistics background in the core methodologies of computational linguistics. Topics: Computer Basics, Programming Code; Introduction to Python and the IDLE editor vs Jupyter Notebooks; Processing with Numbers: Data Types and Conversions; String Processing with Python; Opening, Reading, and Writing Data Files; Booleans and Conditionals; Basic Graphics and User-Interface Issues; Designing Functions, Top-down Software Design; Loops, Control of Flow, List Comprehensions; Python Containers: Lists, Tuples, Dictionaries; Defining and Using Classes, Object-Oriented Software Design; Overview of Topics in Computational Linguistics; Introduction to Machine Learning

Textbook: Managing and Mining Multimedia Databases

Course Description Multimedia database design issues. Indexing and retrieval of text documents, audio files, images and video. Multimedia data types and formats. Techniques and data structures for efficient multimedia similarity search. System support for distributed multimedia databases. Measurement of multimedia information retrieval effectiveness. Products, applications, and new developments.

  • Current course webpage containing all slides and assignments
  • Current syllabus of the course
  • Spring 2016 course webpage containing all slides and assignments

Course Description Introduction to multimedia topics, including: web design, game design, animation, data visualization, simulation and robotics. Introduction to multimedia hardware and software, including game boxes. Human interface design and input using multimedia devices. Graphical and other forms of output to multimedia devices. Emphasis on design and creation of web pages with HTML and cascading style sheets; interactive, graphical web-based programs; simple computer games, movies and narratives. Computer-based sound editing. Introduction to agent-based programming for simulations and robotics. Uses of multimedia in industry. Hands-on exercises.

  • Current course webpage containing all slides and assignments
  • Current syllabus of the course
  • Spring 2016 course webpage containing all slides and assignments
  • Fall 2015 course webpage containing all slides and assignments
Textbook: Speech and Audio Signal Processing

Course Description "Machine listening" is a multidisciplinary field at the intersection of signal processing, machine learning, and psychoacoustics. This course will begin by introducing necessary material from those fields to provide a foundation for the rest of the course. Machine listening is primarily concerned with analyzing and understanding three types of signals: speech, music, and environmental sounds and these will be the focus of the course. We will also consider additional applications that require the creation or manipulation of these sounds in speech and music.

  • Fall 2016 course webpage containing all slides and assignments
  • Fall 2016 syllabus of the course
Textbook: Neural Networks and Learning Machines

Course Description A survey of fundamental methods in neural networks. Single- and multi-layer perceptrons; radial-basis function networks; support vector machines; stochastic machines and deep networks; recurrent and dynamic networks; supervised and unsupervised learning; application to pattern classification and function approximation problems.

  • Fall 2014 syllabus of the course
  • Fall 2014 course webpage containing all slides and assignments
  • I was the instructor for this course
Textbook: Speech and Audio Signal Processing

Course Description Audio processing is a huge field, so this course is necessarily eclectic rather than comprehensive. The first half of the course covers fundamentals in signal processing, pattern recognition, acoustics and auditory perception. In the second half we look at several application areas, including psychoacoustic compression schemes (such as MP3), speech recognition, music analysis and retrieval, and sound mixture organization.

  • Spring 2009 syllabus of the course
  • Spring 2009 course webpage containing all slides and assignments
  • I was the co-lecturer for this course twice, and the summer manager for it once