CS6300 Software Development Process
I found this course manageable even without prior Java experience. My final grade should be around 97%, an A, though that was still an estimate when I wrote this.
The course covered software engineering concepts that I thought were worth revisiting after the semester. I also learned to use IntelliJ and Android Studio through the projects.
The most interesting part was working remotely with three teammates in the US. It was a bit of a culture shock: almost the whole project happened asynchronously. Seeing that work changed my sense of what a remote team could get done. Cutting unnecessary meetings may not be a bad idea, provided the team has a way to keep the work moving. It worked for our group; other groups may need a different rhythm.
One less enjoyable part was gathering information from several places: Slack, Piazza, and extra videos on YouTube. I liked the lectures, but the assignments often needed more digging than the lectures alone provided.
For preparation, getting comfortable with Git and Java would make the start less rushed. Two useful references are the Atlassian Git tutorials and the Java learning guide.
Preparation note — 22 September 2026: The current official course page recommends familiarity with Java and basic software engineering, plus an undergraduate software engineering course or industry experience. My lack of Java experience in 2019 should not be read as the course’s recommended starting point.