CompSci 308 Spring 2024 |
Advanced Software Design and Implementation |
You don’t start out writing good stuff. You start out writing crap and thinking it's good stuff, and then gradually you get better at it. That's why I say one of the most valuable traits is persistence. — Octavia E Butler
Project deliverables must be submitted using GIT by 3:08am ET in the morning on the day after that given on the course Calendar (effectively a few extra hours grace time past midnight).
push
on the main
branch of the project repository provided for you in the course's Gitlab groupprint
statements (even printStackTrace()
)Developing software is about more than just the code that makes the program run, so each project must have
main
branch of your project repository will be checked using static code analysis:
main
branch of your project will be generated using JavadocProjects in this course will use:
Programming Language OpenJDK Open Source version of Java 17 LTS which includes OpenJFX (Full version) GUI Framework OpenJFX
formerly JavaFXOpen Source, modern, UI toolkit for Java that works for desktop, mobile, and embedded apps
any of its add ons that build the code for you are not allowed (specifically, using FXML or SceneBuilder)
noSwing
classes should be usedDevelopment Environment IntelliJ Ultimate Integrated Development Environment (IDE) with features that support writing well-designed code
free for students and strongly recommended, but not requiredVersion Control GIT Open Source, industry standard, software to support working in teams
many commercial and academic servers exist to host GIT code repositoriesRepository Host coursework Duke CompSci managed GIT server Documentation Format Markdown Open Source, industry standard, general purpose plain text format that can be transformed into any other document format
supported directly within IntelliJ or using this web-based, shared, editor (sign-in required)