Programming 101

Comprehend basic foundational knowledge of hardware, networking, programming and licensing.

4.53 (16391 reviews)
Udemy
platform
English
language
Other
category
instructor
Programming 101
155,636
students
4.5 hours
content
Sep 2017
last update
FREE
regular price

What you will learn

Count bits

Understand binary data

Understand bit processing

Understand basic network structure

Understand routers, ISP's, packets and HTTP

Full working knowledge of programming languages

Understand the concepts behind a programming language

Understand variables and constants

Understand functions, arguments and parameters

Know about software licensing

Comprehend DRM, patents and morality of the industry

Description

Most people do not know how their device's process binary and work with data, from their washing machine to their smart phone. I found even some programmers don't have the knowledge of such; I'm in fact guilty of this sin!

I missed out by learning a programming language first rather than trying to understand the computer on the hardware level. As programmers we are controlling the hardware and eventually even if you're programming in Javascript you need to know about memory and how the language works. So understanding binary data, persistent and temporary memory, CPU, SPU, GPU, networking and more is crucial even if you're a web developer this still applies to you.

This course will be a broad foundation of knowledge giving understanding of certain topics that need to be covered; giving you a solid foundation to grow from. I don't believe in understanding a programming language first is the correct way to go about things. Programming languages have evolved as a tool for us. NOT the computer! So if we understand the computer's hardware we'll understand clearly how our program's are controlling our device's.

Computers are tools that we created to benefit man kind, however as all tools we need to improve them more and more. However the core principle of computers from the very first computer ever invented hasn't changed. Over time the tool or computer has been refined. However the very core process and simplicity in underlying principles has been the same from the foundation of computing which is, processing ones and noughts. Computers have gone from processing 8 to 64 bits at any one time. This is just the computer being able to process more bits and thus more powerful operations can be done at a single time.

Don't get me wrong computers are far more advanced, but the concept is all I'm saying is simple enough that even a beginner can learn what most people consider advanced and above their pay grade.

Likewise understanding networking is of vital importance especially for the web developers of today. More apps are going online so understanding network infrastructure, that has been around for over a decade, is still important today.

What about programming languages? We invented them as tools to communicate with these raw processing machines. We must understand why we have programming languages and how they work. For example what're compilers or transpilers? How have we taken our form of communication, human languages, and turned it into an effective communication to manipulate the computer, programming languages? What about variables, constants, functions, objects and arrays that are in all major programming languages today? Also all languages have operators and if you didn't have them in a programming language you wouldn't actually have a programming language at all.

In this course we'll cover even more, what about programming paradigms. Paradigm just means a model on how to do something. So in this case we can write our program's in a certain way or in a certain paradigm. Very few beginners consider the style with which they program. When creating small scale apps it isn't that difficult, however when creating large scale apps, paradigms become imperative.

Most programming languages give you the flexibility to mix and match programming paradigms or styles for writing your app's. You have a few major styles to choose from such as assembly, procedural and object oriented. Do note in a single app you can mix these paradigms usually procedural and object oriented to best suite that part of your large scale app. I'll show you the styles of these paradigms and then apply procedural and OOP (object oriented paradigm/programming) to demonstrate how the human mind works with differing paradigms; proving that multiple paradigms are the way forward.

Finally at the end of learning such a broad range of topics in a clear and concise course; you'll also be learning about the licensing which should be covered especially for new comers. Then learning about software morality such as DRM, software patents and many other aspects of how the government is dealing with your data.

After all this, if you're still not satisfied you can have your 100% money back guarantee if the course actually cost anything. So this last bit is really the bit that sells it, what have you got to loose?

Content

Understanding Hardware

What is base 2?
Understanding bits and bytes
Counting binary
Signed magnitude, signed or unsigned byte
How do computers process binary data
Evolution of 8 16 32 and 64bit computing
Sound and recording
Firmware and BIOS
Temporary and persistent memory

Basics of networking

Basic network structure
IPV4, IPV6 and packets
MAC Addresses
Servers and HTTP

Understanding Operating Systems

What is an operating system?
API and the console

Basic Programming Knowledge

Programming languages & execution
Interpreters, compilers & JIT compilation
Programming, scripting & markup languages
Client vs server side languages
Higher & lower level programming languages
Primitive data, nouns, adjectives & verbs
Variables and constants
Functions, parameters & arguments
Objects & arrays
Object hierarchy
Operators

Programming Paradigms

Programming paradigms
Programmable paradigm mindset
The difference between OOP and object construction

Conclusion and Goodbye

Software morality - licensing
Software morality - DRM and patents
Software morality - data
Where to start?
Conclusion & Goodbye

Reviews

Monty
November 13, 2023
Thank You 1000 Fold Lawrence, Your course is really enlightning and conjucive. Very understandable and detail orientated. Thank you again
Walter
November 13, 2023
Sure. I had no idea at all to start off. Now I am having a grasp of binary numbers and how it relates to decimal numbers and that you are able to work with these!
Zohra
November 5, 2023
As a beginner, this course helped me so much to understand the basics of programming, and it gave me ideas on where I should start. This course was smooth and easy to understand.
Solemon
October 13, 2023
This is an amazing programming and computer concept tutorial. The strength of this course is its simplicity. No heavy slides, no white board full of complex information, just the right amount of information in a very simple and understandable format.
Yana
October 11, 2023
As an absolute newbie, the lectures are extremely interesting. I find that the course material is explained in plain and simple terms.
Dean
October 8, 2023
I've been learning to program for a little over a year now with no CS background. This course definitely gave me a clearer picture about concepts I was quite fuzzy on. Thank you so much for this course. Well done!
Anusha
October 6, 2023
This course is a great start for programming. I would recommend it for the people who are going to start their career in programming.
Debbie
September 21, 2023
As someone who is a total beginner, I have learned a lot. I'm utterly grateful that this course is FREE! I will certainly re-watch this again to strengthen my foundation. I thank you from the bottom of my heart
Teryn
September 14, 2023
The fundamental concepts of programming and software development are explained very well. Mr. Turton is a great teacher and the course well worth the time.
Andrei
September 2, 2023
Kudos to Lawrance! this course demystified a lot and I recommend it to anyone who aspires to become a programmer.
Nina
August 27, 2023
Brilliant teacher, very well laid out and a solid foundation for learning about computing. Thank you!
TK
August 26, 2023
I am blown away by how much I've learned in the first part of this course. I've built a few websites on Wix, Weebly, WP, etc....but never understood HOW websites, the internet, computers, etc...all worked and interacted. This is a fantastic course for a full overview.
Tran
August 23, 2023
This, by far, I think it's the best course for anyone just get started to learn programming. Very well explained, easy to understand, straight to the point, no fancy animation or visual motion. It clears my mind after a couple of months learning to code without anyone explaining the deep, core principles of why things happen in computer. I'd recommend to ANYONE, both beginner and even junior. Thank you so so much Lawrence Turton!!! 23/08/2023
Inona
August 11, 2023
Amazing course. Everything is explained so well, with great examples and simple terms. This was one of the best courses Ive came across, and thank you, Lawrence, for making this topic so easy to understand. Much love and grattitude from Belgrade!
Bharadwaj
February 19, 2023
The instructor explained the topic in great detail and the video quality was good too. Helped in revising the topics mentioned.

Charts

Price

Programming 101 - Price chart

Rating

Programming 101 - Ratings chart

Enrollment distribution

Programming 101 - Distribution chart
956404
udemy ID
9/12/2016
course created date
7/6/2019
course indexed date
Bot
course submited by