Skip to content

⬅ Back to main site

S7 Inf A3 — Java for Graphical and Mobile Programming

Stéphane Derrode — Centrale Lyon


Course overview

This course introduces Java programming to M1 engineering students who already know Python and object-oriented programming. It is structured in three parts:

Part Content Tools
Part 1 — Java Fundamentals Types, OOP, collections, exceptions, file I/O VSCodium + Maven
Part 2 — GUI with Swing Event-driven programming, Graphics 2D VSCodium + Maven
Part 3 — Android Mobile app development Android Studio

Schedule

48 h total — 16 h lectures (CM) · 20 h labs (TD) · 12 h autonomous projects (2 × 6 h).

Part 1 — Java Fundamentals · 16 h

Session Type Hours Content
CM1 CM 2 h From Python to Java — types, classes, Maven (the Car class)
TD1 TD 2 h Build the Car & Garage classes
TD-Git TD 2 h Version control with Git on the Car project
CM2 CM 2 h Collections, exceptions, file I/O
TD2 TD 2 h FleetManager (HashMap, file I/O) + RPN calculator
CM3 CM 2 h Inheritance, interfaces, composition
TD3 TD 2 h Shape hierarchy, ShapeStats, Zoo
TD-Modern TD 2 h Modern Java — Streams, records, lambdas (+ Polynomial capstone)

Subtotal: 6 h CM · 10 h TD = 16 h**

Part 2 — GUI with Swing · 16 h

Session Type Hours Content
CM4 CM 2 h Swing: components, layouts, events (CarUI)
TD4 TD 2 h CarUI control panel
CM5 CM 2 h Graphics 2D, mouse & keyboard (GridPanel)
TD5 TD 2 h DrawPanel + interactive GridPanel
TD-Threads TD 2 h Concurrency — the EDT & SwingWorker
BE1 — supervised launch Autonomy 2 h Spider Game: model + placement phase, in class
BE1 — personal work Autonomy 4 h Spider Game: movement, win detection, restart

Subtotal: 4 h CM · 6 h TD · 6 h autonomy = 16 h**

Part 3 — Android · 16 h

Session Type Hours Content
CM6 CM 2 h Android architecture, first app (NotesPad v1)
TD6 TD 2 h Android Studio & NotesPad v1
CM7 CM 2 h Layouts, navigation, intents (NotesPad v2)
TD7 TD 2 h RecyclerView, navigation, result (NotesPad v2)
CM8 CM 2 h Persistence, app polish, beyond this course (NotesPad v3)
BE2 — supervised launch Autonomy 2 h Calculator/Converter: layout + persistence, in class
BE2 — personal work Autonomy 4 h Calculator/Converter: logic, SharedPreferences, history

Subtotal: 6 h CM · 4 h TD · 6 h autonomy = 16 h**


Assessment


Getting started

Before your first lab session, follow the setup tutorial for your part: