Resources
Development Tools
- create a jetbrains student account to get the professional jetbrains products for free.
- Jetbrains Toolbox I recommend you use jetbrains toolbox to manage your IDEs
- Get Git you need git to turn in projects for this class., It is likely pre-installed on Linux, and will install with the mac xcode command line tools. You will definitely need to install it yourself on windows though.
- Github is the most widely used cloud based git repository (at least in 2025)
- Gitlab is an excellent web based git repository as an alternative to github
- Slack is one of the most commonly used communication tools in software development today.
Course Approved AI tools
- MS Copilot with your BSU credentials
- Gemini with BSU credentials
- Jetbrains AI autocomplete without the paid AI tools
Soft Skills
- The Soft Skills Engineering Podcast
- Pragmatic Programmer (your textbook)
- Coder Radio : A podcast about "The art and Business of Software development and the world of technology"
- A
recent overview of the technical interview process
- Yale's more informal list of jobs resources
- Advice
for new developers on Dice
- A
longer article that you should read now - and again about a
month after being hired.
Slides
From time to time I'll post my lecture slides here. They are really my notes to remind me what we need to talk about, so they are not enough by themselves (unless maybe you are middle-aged and have been in the field for a couple decades or so), but they will hopefully be of use when paired with the notes that you take.
- the Intro lecture from Day one. Day one Assignments on the last slide
- Continuous Integration, github actions and prag programmer chap 1
- Database intro
- First intro to testing. As of Feb 12th we haven't do the secrets part
- GUI review with a few tips on the pyside6 example
- Code Metrics, Naming etc
- Our discussion of the current job market
- Comments and Code Smells
- Brief notes on Code formatting