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 2023)
- 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.
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"
- Stanford's course
on Passing the technical interview (from last year)
- Yale's more informal list of jobs resources
- Collected advice for new developers
- One developer's "What I wish I knew" when looking back on a 10 year old career.
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, but they will hopefully be of use when paired with the notes that you take.
- The intro lecture
- Continuous Integration (as of Jan 24 missing the Prag programmer Discussion)
- The databases review from an app developers point of view
- The introduction to Automated testing stuff. We haven't covered everything in here, but the secrets stuff is really something we need for the project
- a review of GUIs with some examples in python
- some thoughts on what kind of developer do you want to be?
- Code Smells, Code metrics, names and more
- Comments and Code Smells
- the notes I used when we had our intellectual property discussions
- My reaction to Chapter 3 of the pragmatic programmer
- functions and code smells