Skip to content
View bjssacademy's full-sized avatar

Block or report bjssacademy

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
bjssacademy/README.md

BJSS Academy

Go  C#  Java  CSS  HTML  JavaScript   

About the BJSS Academy

The Academy was created to provide an entry pathway into BJSS for people from the widest possible range of backgrounds. We provide opportunities for apprentices, returners, retrainers, career switchers, and graduates, as well as helping existing BJSS people develop their skills in other specialisms.

You can read more here.

We have created and collated a series of guides, articles, and learning paths for those at the start of their learning journey into Software Engineering. From things some people may consider basic such as using a filesystem, right up to concepts around OOP, TDD, and even concurrency using Go.

Where to start?

That depends on you! If you are looking for an overview of the internet, what it is, how it works, and a high-level view of the associated technologies, you might want to start with the introduction to the internet and associated technologies.

If you've not really peeked behind the scenes of how files are organised on your device, then maybe take a look at a brief introduction to the Windows file system.

Do you know how to compress multiple files so they are contained in one file, or how to use .zip files? If not take a look at our Zip files outline.

I'm an absolute beginner and know nothing about programming

We've got some fundamentals covered here that explain how to use the command line, and some basic programming concepts like variables, types, control flow and loops, as well as things like functions and variable scope.

If you understand the tech jargon and want to create your own web page, then you'll want to know about HTML for the basic structure, CSS to make it look better, and Javascript to make your page do things! These guides won't make you an expert, but they will get you up and running with the bare bones knowledge! For that we've got Academy JavaScript - Going Deeper for your JavaScript needs. And then you might want to move onto React!

If you want to dive in to learning without exploring these first, we have a fundamentals course in two parts, where we'll explain everything from what a variable is, to the use of loops and arrays, functions, structs, and methods whilst using the programming language Go, and covers Test Driven Development. Please note, these repositories are currently private - ask for access.

Once you've go the basics of Go down and have started using structs and methods, we want to look at more class-based languages to examine Object Oriented Programming using C#. Fortunately, there's a handy C# from Go course which will take you through everything from setting up Visual Studio and making your first objects!

How do we store data, and what are the options?

You can take a look at our guide on the various types of databases available, which also starts you off using PostgreSQL and SQL commands to add and remove things from a database. Vital if you are going to want to ever store data when writing the next killer app.

If you're okay with the concept of databases and tables and just want a quick introduction to how to Create, Read, Update, and Delete (CRUD operations), then skip to the SQL basics section.

I am a novice, but I know at least one programming language

Well done! Now you've mastered the basics of telling a computer what to do, you'll want to make sure your code can be read and used easily by other developers and colleagues. Read our guide to clean code on taking the next step in your journey, from naming things well to being able to extract code blocks into their own methods and removing deeply-nested If statements.

If you know you Java from your JavaScript, then maybe you want to explore the Go programming language. Covering the basics of the language to the more powerful like goroutines. Or maybe you just want to build your own API and perform CRUD operations on a database with minimal external packages?

Maybe you're already using Go and want some challenges? We've got you covered with Batttleships and time entries. The battleships challenge also forms part of our Advanced TDD course.

Of course, you may have heard of React, and if you've got the basics of HTML, CSS and JavaScript down, then our React Basics will get you up and running using Vite as the build tool. Along they way we'll talk about components, properties and state management!

Perhaps you've done a fair bit with JavaScript but have heard lots about TypeScript and wondering what the benefits are, our handy TypeScript Primer is probably a good starting point. We'll cover the basics in a whistlestop tour of the benefits of TS, and get you installed and setup to write using TS.

I'm a Tester

Great stuff. How about learning how to automate your API testing using C#? Or maybe you are a TypeScript fiend, why not have a look at SuperTest & Clean Coding.

How about builders and factories - which shows you how you can take your messy, spaghetti code, and make it more maintainable and flexible.

Data Engineering

We're only just starting out on this, but our Data Engineering Fundamentals is a good start. We'll be adding to this with more about streaming using Spark, Airflow and Kafka.

Popular repositories Loading

  1. fundamentals-clean-code fundamentals-clean-code Public

    11 2

  2. advanced-tdd advanced-tdd Public

    Go 9 5

  3. goinaday goinaday Public

    Go 9

  4. bjssacademy bjssacademy Public

    3

  5. react-basics react-basics Public

    3 2

  6. vms_and_iac_basics vms_and_iac_basics Public

    Bicep 2 1