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
| Session | Type | Content |
|---|---|---|
| CM1 + TD1 | Lecture + Lab | From Python to Java — types, classes, Maven |
| CM2 + TD2 | Lecture + Lab | Collections, exceptions, file I/O |
| CM3 + TD3 | Lecture + Lab | Inheritance, interfaces, composition |
| CM4 + TD4 | Lecture + Lab | Swing: components, layouts, events |
| CM5 + TD5 | Lecture + Lab | Graphics 2D, mouse & keyboard |
| Autonomous 1 | Autonomous | Spider Game — placement & movement phases |
| CM6 + TD6 | Lecture + Lab | Android architecture, first app |
| CM7 + TD7 | Lecture + Lab | Layouts, navigation, intents |
| Autonomous 2 | Autonomous | Calculator or Converter project |
| CM8 | Lecture | Persistence, app polish, beyond this course |
Assessment
- Written exam: 50 %
- Average of 2 graded projects (BEs): 50 %
- BE1 — Spider Game (Part 2)
- BE2 — Calculator or Converter (Part 3)
Getting started
Before your first lab session, follow the setup tutorial for your part:
- VSCodium & Maven Setup — required before TD1
- Android Studio & Emulator Setup — required before TD6