Save this video — free

[HD] EECS4302 F26 - 2026-09-17 (Thursday) - Lecture 3

Jackie Wang · 1:11:27 · Watch on YouTube

[HD] EECS4302 F26 - 2026-09-17 (Thursday) - Lecture 3 Watch on YouTube →

Overview

Jackie Wang introduces cohesion, the Single Choice Principle, and regression testing as design checks for EECS4302 projects, then applies them to Java student classes and compiler architecture. The lecture contrasts 20 direct translations among five languages with a modular intermediate-representation approach, and previews how ANTLR 4 can generate scanners and parsers.

Key takeaways

Chapters

0:00 Using the Lecture Digest to Review EECS4302
7:26 Cohesion: Keep Each Class Focused on One Purpose
12:11 Single Choice Principle: Minimize the Places a Change Requires
16:04 A Java Student Class with Resident and Nonresident Variants
23:05 Unused Rate Fields Reveal a Cohesion Problem
25:35 Repeated Kind Checks Violate the Single Choice Principle
28:48 Java Inheritance Separates Student Types and Reuses Tuition Logic
34:00 Regression Testing: Rerun Tests After Every Model Change
42:50 Compiler Front Ends, Back Ends, and Intermediate Representation
48:45 Why Five Source and Target Languages Can Require 20 Direct Compilers
54:29 Designing IRs Around Basic, Pointer, and Object-Oriented Features
59:49 Shared IRs Replace Pairwise Translation with Front Ends and Back Ends
1:07:01 ANTLR 4 Generates Scanners and Parsers for Compiler Front Ends
1:10:32 Assignment 1 Preview: Implementing DFA and NFA Concepts in Java

Keep these chapters and the full searchable transcript in your own library.

Summary, takeaways, and chapters were generated by AI from the video's transcript and may contain errors. The video belongs to its creator, Jackie Wang.

Want the full transcript?

Save this video in YouTube Collector to get its complete searchable transcript, your own AI summaries, and a library that keeps every video you collect in one place.