Personal Curriculum May-August Updated
Updated Personal Curriculum
I’m going back to university as planned, but not the uni or course I was originally going to go for. Instead I have decided to back to Lincoln College and study (and finish off previous study) Computer Science. As such my personal curriculum has changed.
I will outline what I’ll be studying below, but this will start in May (April is set aside for other stuff already) and finish in August, with the university Curriculum starting in September. It will be a mix of learning new topics and revising some things I haven’t covered for a few years. There will be two study blocks every weekday, one from 10-12 and another from 3-5. Saturdays will be a day off, SUndays will be to focus on collating that weeks learning and any other minor changes needed to projects. I will be uploading all project work to Github as well.
To avoid overload and tutorial hell, the morning will have a rotating focus and the afternoon block ALWAYS something practical.
Monday
Computer Science
C# / .NET
Tuesday
Networking
C# / .NET
Wednesday
Cyber Security
C# / .NET
Thursday
Computer Science
C# / .NET
Friday
Networking / Security (alternate weekly)
Project Work
May- Back to basics
As I haven’t studied some of these topics in a long time, May will be spent going back to basics and relearning/revising them. Computer Science will cover things such as how computers physically work, Binary and Data representation, Algorithms, Big-O and data structure theory. Networking will cover things such as IP addressing and ports, the OSI Model and TCP vs UDP basics. Cyber Security will focus on theory to being with, such as the importance of the CIA triad, common threats and basic security practices. C# and .NET will again focus on the basics of Object Oriented Programming after a two day light refresher on syntax. I have programmed in C# since I left uni so I’m more comfortable here than I am in other areas. May will end with a small project that will create a user login with a menu system and data storage in memory.
June-Core Skills
As I advance my skills I will be doing incrementally harder work. Data structures will now focus on Stacks, Queues and Dictionaries and we’ll get onto searching Algorithms as well. I will be going deeper into OOP with focuses on Inheritance, Polymorphism and Encapsulation. I will also look at exception handling, File I/O and looking at LINQ. Networking will go deeper into the OSI Model, look at DNS and DHCP, HTTP/HTTPS and intro to subnetting. Cybersecurity will focus on theory such as authentication vs authorisation and then things such as password security and hashing, as well as common vulnerabilities such as SQL Injection and XSS attacks. Finally the mini project will look at file based data storage, basic authentication and error handling.
July-Further Advancement
July will further advance my skills and by the end of it I want my skills to be ready to go back to uni, at the level of or exceeding my skills at the end of my second year when I originally went. I will look at recursion, databases and deeper into Big-O. I will starring working the the .NET framework and an introduction to ASP.NET Core. API’s will also be studied as well as the basic concepts of Dependency Injection. Networking will look at basics of Routing and Switching, Firewalls and NAT and basics of troubleshooting a network. Finally Cyber Security will focus on encryption basics such as symmetric vs asymmetric encryption. Alongside this I will study HTTPS and certificates in more depth and secure coding practices and principles. The mini project will focus on CRUD operations and connecting to a basic database (which will test my SQL knowledge).
August-Tying Up
August will bring everything together and insure I am ready to go back to studying and get my degree! Computer system design and how large apps are structured and made will be covered. Real world networking scenarios, troubleshooting practice and packet basics will be studied in Networking. Cyber Security will focus on threat modeling, secure architecture basics and common real world attack paths. The C# and .NET side will also cover the project this month as I make a bigger project. I’ve not firmly decided this project yet but I’m thinking a task manager app right now, but this is subject to change.
I hope to blog about all of these as I go along, covering what I’ve learned at the end of each month, so follow along with me as I get read to go back and smash this degree out of the park!