Home
Course Description
This research seminar will provide PhD students a comprehensive overview of current state-of-the-art research that sits at the intersection of software engineering and deep learning. In particular, we will examine how we can use deep learning to build the next generation of intelligent developer tools, and how we can use software engineering principles to improve the process of building deep learning models.
General Course Information
Faculty |
---|
|
Course Meeting Times
- Class Hours: Thursdays, 4:30pm-7:10pm
- Class Room: Horizon Hall Room 20171
Virtual Course Spaces
- Course Website: Syllabus, Schedule, Assignments, Lecture Slides, Lecture Recordings
- Zoom: Hybrid Office Hours - Zoom Link (Requires GMU Zoom Account)
- Ed Discussions2: Announcements, Discussion
- Blackboard (MyMason): Grades
Course Philosophy
As software continues to be tightly integrated into the modern fabric of our society, it is imperative that we are able to equip developers with the tools they need build ever more complex software systems easily, efficiently, and with fewer bugs. One the key attributes that is driving the modern complexity of software is the integration of machine learning algorithms that enable complex behaviors which are difficult to stipulate analytically. A large contributor of the popularity of such learning-based algorithms is the emergence of deep learning, which uses multi-layer artificial neural networks to learn patterns from data. In this course, we will explore the synergies between software engineering and deep learning. Namely, we will examine ways in which deep learning can be used to build the next generation of intelligent developer tools, and how we can adapt software engineering tools and practices to aid in the development of deep learning systems.
This course has three main philosophical objectives:
1) Survey recent research that aims to leverage the prevalence of open-source software data and deep learning to build new intelligent developer tools.
2) Explore how we can build upon decades of research in software engineering to develop tools, techniques, and processes that can assist in the development of deep learning systems.
- For these first two objectives, we will examine and discuss recent work from the top academic software engineering and machine learning conferences and journals.
3) Develop essential research skills such as conceptualizing and carrying out an advanced research project, presenting research effectively, and critically reading and critiquing research papers.
- For this objective, we will hold in-depth paper discussions in class, students will give 1-2 research paper presentations over the course of the semester, students will be asked to critically review 1-2 papers, and students will carry out a semester-long research project.
Learning Outcomes
- An in-depth understanding of how to conduct high-quality research in the field of software engineering
- A general understanding of how deep learning is shifting the modern software engineering landscape
- Knowledge regarding how software engineering practices can be adapted to the data-driven workflows of deep learning systems
- An understanding of the process for critically reading and reviewing research papers that intersect machine learning and software engineering
- Knowledge regarding how to best present a research paper to an informed scientific audience
- An understanding and hands-on experience regarding how to carry out a software engineering research project from inception to dissemination of results in a research paper
A Note to Students during COVID-19
Dear Students,
Welcome to SWE-795 for the Spring 2022 semester! These are still undoubtedly uncertain times, and first and foremost I want you to know that, as an instructor, I am here for you. I want you to be successful in this course, and I want to help facilitate that success. If you feel like you are falling behind, are affected by unforeseen circumstances, or simply want to discuss course material and its applications, send me an email! I am available and happy to hear from you.
-Prof. Moran
-
Backup Instruction (should the class need to pivot to virtual) will be conducted on Zoom Zoom Link (Requires Signing In with GMU Zoom Account) ↩
-
Ed Discussions is a new type of software that we will be trialing for this semester. Think of this as a supercharged and easy to use version of Piazza 🙂 ↩