I completed this two year course at New College in Swindon. It's a level 3 (equivalent to 3 A Levels), qualification and I received one distinction and two merits represented as "DMM". I excelled most in the practical assignments, and loved to go above and beyond when building programs, and the friendly competition in the group helped encourage self learning.
The course had 15+ modules, but I'll just go over the ones that
stuck in my mind.
We learned about:
My education gave me a foundation to then teach myself what i needed to know. The main language of this BTEC was VB.net, and I have applied that knowledge when experementing with staticlly typed languages like Java and C++.
Maths and programming are a natural fit. Algebra is the use of variables, geometry is drawing shapes and data structures in maths can be applied to programming. I really enjoy the subject and would like to pursue it further.
English skills can be helpful when reading and writing documentation, conversing with clients and collaborating with colleagues. I love to read fiction but recently haven't made the time for it.
The S.O.L.I.D principles is OOP on steroids, its all about building highly configurable, testable systems.
Test Driven Development helps enforce testing while writing code, so by the end of a project you have a fully tested codebase, ands its easier to detect breaking changes.
Don't Repeat Yourself tells us not have code that does the same thing multiple times, instead use reusable code, this means when changes need to be made, they only need to be made once.
Keep It Simple Stupid is important for matainance, when you come back to a piece of code, you want to be able to understand what it does withough reading a guide.
Small iterations plan > development > review produce the issues that need to be tackled in projects where there are lots of unknowns.
In the spirit of agile, building code quickly to explain a concept may be necessary, but that code will need to be adapted over time to handle tough situations.
OOP is a powerful concept that makes developers think in terms of objects properties and responsibilities that interact with each other.
While OOP is quite a complicated concept, functional programming boiles it down to data and functions, and attempts to remove state from gritty logic.