Updating CSCI 205

CSCI 205 has been a highly successful course for our majors. It is a lot of work for students, and likewise for the instructors who teach it (myself and Prof. Chris Dancy.) But, the rewards have been plenty, as the course teaches a lot about there is a lot of material that is out of date. The course will still relying on Java 7, and used Netbeans.

I’ve taken quite a bit of extra time this semester to update some of the course. As of Fall 2019, the course has been updated in the following ways:

  • We are now using IntelliJ IDEA
  • The course has been updated to Java 12
  • Many videos have been re-recorded to address the updated content, including:
    • Heavier emphasis on lambda expressions than ever before
    • Teaching more java.nio and java.nio2 along with java.io
    • Added new material on socket programming with java.net
    • Added new material on multithreading and concurrency in Java
    • Introduced the Java Stream API (not to be confused with the I/O streams)
  • The final project has been overhauled. Every student now must use Gitlab for all their Scrum task board and sprint management (This has worked surprisingly well!)
  • Expanded the JavaFX material¬†

It’s a start. There is a lot to be done still.

In a recent discussion with Chris Dancy, he expressed significant interest in incorporating elements of engineering social justice into the course. This represents a broader move by the engineering community at large to start helping our students recognize the impact that their choices have on humanity. I am at fault here. Like many of us, we focus on the goals without teaching our students the impacts that their choices have. Well, that’s not entirely true. I discuss impact – computational resource impact. That’s not enough. I do not give enough attention to social, moral or ethical impact. So, I believe this will be the next set of revisions we make to the course. Chris may likely start on some of those changes in Spring 2020. But, we’ll likely make a more substantial effort to incorporate this into the project over the summer. It’s time for engineers to emphasize people as more important considerations than profits.