My name is Jason Forsythe, please feel free to call me Jason. My day job is as an Information Specialist at a large energy company here in Bakersfield. I started my carer as an intern while finishing my degree at CSUB and have been in the position for almost 9 years now. An Information Specialist, at least in my role, means that I program applications that deal with data collection, data processing, and process automation. Some of these applications are desktop applications and some are mobile applications. I am one of the lucky ones who gets to build applications from end to end UI to database etc. I use multiple different languages and technology stacks.
Why teach at CSUB you might ask. Well as a previous student at CSUB it holds a special place in my heart. Also before finalizing my computer science degree I was actually studying to become a teacher. By leveraging my real-world experience as a successful software developer and passing that knowledge on to you I get to enjoy both my passions. Also when I went to work as a developer I had a steep learning curve even though I passed all my classes with flying colors. This is because in business we rarely build console apps. 99.9% of our applications are what is called multi-tiered. This means that you almost always have a "frontend" portion of an application (the part that users interact with), a logic layer that holds all the business rules (like a start date must be equal to or greater than today's date), and a data layer where the data is stored, retrieved, transformed, analyzed, etc.
In this class, we will learn the full-stack development of multi-tiered systems. We will start off slow by learning the differences between Java and C++ that you are probably most used to. The importance of source control (GitHub). From there we will learn about Multithreading, UI, REST services, client and server code, database integration, code reuse, and mobile development for Android.
Don't worry too much if this sounds overwhelming. I will guide you through each assignment by coding them on recorded lectures and during labs will use Microsoft Teams to work together on any issues you may have and answer questions.
My goal is to teach you what it is like to develop real multi-tiered applications and expose you to the advanced usage of the Java language. I also want to do it in a fun way and we may get a chance to build an Android game by the end of the semester!
Setting Up For The Class
In this class I we will be using Virtual Machines for our development environment. One VM will be a Linux distro called Pop!_os. This VM is where we will be doing our development on. We will have another VM that is running Android to deploy our and test our apps on. We will also learn how to use Github to fork repos (starting code) and push to our own repos (turn in assignments).