APPENDICES

Three keep-handy pages: getting set up, staying safe, and leading the study.

Appendix A

The Online Coding Workflow

OnlineGDB from zero to a submitted link — the only toolchain this course requires, and it is free

Everything you need to write, run, and submit C++ and Java in a browser: creating the free OnlineGDB account, starting a project, turning on the -Wall -Wextra compiler flags this course grades against, working with multiple files, setting the Java main class, feeding a program input through the Stdin panel, leaving your program in a state the grader can just press Run on, writing the required reflection block, and getting a shareable link with the right visibility. Includes the optional GitHub path if you prefer to work locally, and the fixes for everything that commonly goes wrong.

Appendix B

Surviving the Accelerated Course

How to carry twelve hours a week, alone, for eight weeks — pacing, getting unstuck with nobody in the room, and what to do when you fall behind

This edition moves twice as fast as the sixteen-week course and gives you no classroom to fall back on, so this appendix is the operating manual for that reality: an honest weekly time budget and how to split it into sessions, the getting-unstuck ladder to run before you email anyone, how to write a help request that actually gets answered, how to read a compiler error instead of guessing, the recovery plan for a week you lost, how to use AI as a sparring partner without hollowing out the reps, and the specific study routine that carries you into the Week 4 and Week 8 exams.

Appendix C

C++ and Java Side by Side

The translation card — every construct you learned in C++ with its Java equivalent, and the four places the languages genuinely disagree

The whole point of Week 7 is that you already know how to program and only need new vocabulary. This card proves it: output and input, primitive types, strings and why == betrays you in Java, control flow, functions versus methods, arrays, structs and classes, constructors and destructors, pointers versus references, new and delete versus garbage collection, inheritance and virtual versus @Override, and abstract classes versus interfaces — each shown as matched C++ and Java snippets, with the gotchas called out where the translation is not one-to-one.

Appendix D

Glossary

Every term this course uses, defined plainly — alphabetically, and again by the week that introduces it

A working programmer's vocabulary, built for a student with no one to ask: each term defined in plain language, shown in a one-line code example where a code example helps, and tagged with the week it first appears so you can tell whether a word you have forgotten is something you were taught or something you are about to be. Includes the compiler-error vocabulary — segmentation fault, undefined reference, dangling pointer, object slicing — that beginners meet before anyone defines it for them.