Programming 101
Offered By: Udemy
Course Description
Overview
What you'll 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
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 infact guilty of thissin!
I missed out by learning aprogramming language firstrather 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 understandingbinary data,persistent and temporary memory, CPU, SPU, GPU,networking and moreis crucial even if you're a web developer this still applies to you.
This course will be abroadfoundation of knowledge givingunderstanding of certain topics that needtobe covered;givingyou a solid foundationto 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.NOTthe computer! So if we understand the computer's hardware we'll understand clearly how our program's are controlling ourdevice'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 underlyingprinciples has been the same from the foundation of computing which is,processing ones and noughts. Computers have gone from processing8 to 64 bits at any one time.This isjust 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 theweb developers of today. More apps are going online sounderstanding network infrastructure, that has been around for over a decade, is still important today.
What about programming languages?We invented them astoolsto communicate withthese raw processing machines. We must understand why we have programming languages and how they work. For example what'recompilers or transpilers?How have we taken our form ofcommunication, humanlanguages, and turned it into an effective communication to manipulate the computer, programming languages? What about variables, constants, functions, objects andarraysthat are in all majorprogramminglanguages today?Also all languages haveoperators 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 becomeimperative.
Most programming languages give you the flexibility to mix and match programming paradigms orstyles for writing your app's. You have a few major styles to choose from such asassembly,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 demonstratehow 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?
Taught by
Lawrence Turton
Related Courses
2D image processingHigher School of Economics via Coursera Abstraction, Problem Decomposition, and Functions
University of Colorado System via Coursera Advanced CloudFormation: Macros (French)
Amazon Web Services via AWS Skill Builder Advanced Deep Learning Methods for Healthcare
University of Illinois at Urbana-Champaign via Coursera Advanced Java Concurrency
Vanderbilt University via Coursera