CS 6158

CS 6158

Course information provided by the Courses of Study 2024-2025.

Recent advances in Machine Learning have led to remarkable results in natural language processing, video generation, code generation, etc. On one hand, Machine Learning enables solving challenging software engineering problems through data-driven techniques. On the other hand, Machine Learning systems present novel software engineering challenges that traditional methods cannot handle. This course will explore research in this important intersection of software engineering and machine learning.  Topics that will be covered include 1) foundational software engineering concepts, such as testing, debugging, and program analysis, 2) software engineering techniques for improving the quality of machine learning systems, and 3) the use of machine-learning techniques (including Large Language Models) to improve software engineering.

When Offered Fall.

Prerequisites/Corequisites Prerequisite: at least one of the following courses or their equivalents: CS 3110, CS 4120, CS 5154 and at least one of the following courses or their equivalents: CS 3780, CS 4740, CS 4782. 

Comments Students are expected to know fundamental concepts at least in Machine Learning and/or Software Engineering, and have strong programming skills in Python and Java.

Outcomes
  • Understand and apply static and dynamic program analyses such as automated test generation, debugging, and dataflow analysis.
  • Apply machine learning-based techniques to solve software engineering problems.
  • Apply automated software engineering techniques to machine learning systems.
  • Understand and analyze recent research results in software engineering.

View Enrollment Information

Syllabi:
  •   Regular Academic Session. 

  • 3 Credits GradeNoAud

  • 19708 CS 6158   LEC 001

  • Instruction Mode: In Person
    For Bowers Computer and Information Science (CIS) Course Enrollment Help, please see: https://tdx.cornell.edu/TDClient/193/Portal/Home/