CompSci 307 Fall 2022 |
Software Design and Implementation |
You don’t learn to walk by following rules. You learn by doing, and by falling over. — Richard Branson
Submissions must be done using GIT by 3:07am ET in the morning on the day after that given on the course Calendar (so it is effectively a few extra hours grace time past midnight).
print
statements (even printStackTrace()
)Developing software is about more than just the code that makes the program run, so each project must have
master
branch of your project repository will be checked that it is uniformly formatted using the static analysis tool Checkstylemaster
branch of your project repository will be checked that it does not contain basic design issues using the static analysis tool SonarQubemaster
branch of your project will be generated using JavadocProjects in this course will use:
Programming Language OpenJDK
FULL packageOpen Source version of Java which includes OpenJFX 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)Development 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)