Computer Science The Foundation You Didnt Know You Needed

The course that will save you time and frustration if persuing a degree or starting a new job in computer science.
Computer Science The Foundation You Didnt Know You Needed
File Size :
5.51 GB
Total length :
5h 28m



James Ballow


Last update




Computer Science The Foundation You Didnt Know You Needed

What you’ll learn

Prevent yourself from falling behind in collegiate lectures and work tasks by developing a solid foundation of computer science topics.
Learn to speak the language of computer science by learning new terms/jargon by definition, and in video examples.
Learn the things your professors do not teach, like how to use a terminal, a brief history of compute languages, and how your machine operates.
Learn how to socialize correctly when working on/with a development team so as to ensure team success.
Learn the fundamental things that would otherwise lead you to waste your time peforming hours of online searches.

Computer Science The Foundation You Didnt Know You Needed


Very basic knowledge of how to use a computer (i.e., keyboard, mouse, screen, etc).
No programming experience needed.
No computer science experience needed.


Welcome to my course on Computer Science! Let’s consider two scenarios:Scenario 1:You started a new job in computer science (you thought you knew enough to handle it), and in that job you are required to know how to use some aspects of your computer you never knew even existed (e.g., a terminal, a webhook, a particular code editor, etc). You have to learn quickly because the project you were put on needs to be done in 1 month. *PANIC*.Scenario 2: You have never programmed anything before, but you decide to start a master’s degree in computer science (but your bachelor’s degree was in an entirely different field), and the first day the teacher asks you to write a program in C and it’s due in 2 weeks. *PANIC*.Hi, I’m James Michael Ballow, and both of these scenarios happened to me, at nearly the same time. I was nervous, and I felt anxiety and panic. The biggest problem I had was that every time I looked for a book, article, or video that would explain to me the very basics of computing, programming, or languages, nearly all of them began speaking 15 steps ahead of where I needed to start. I was always infuriated that no amount of searching could give me what I wanted. In order to get over this, I had to ask a million questions (sometimes admittedly stupid and embarrassing questions) to colleagues and professors in order to really understand things on a fundamental level.As I went along in my academic and professional careers, I noticed something: the other students seemed to be struggling with the same thing I was, but because they did not admit their lack of fundamental understanding, their grades were often quite low. That’s when it hit me: every single person is struggling with understanding this computer science stuff. This phenomena is best described by me as a “barrier” between the human and computer. This course breaks that barrier.In this course I tell you about myself and my journey from knowing absolutely nothing about computer science, to getting a 4.0 in my Master’s in Computer Science and becoming a practicing software engineer and machine learnist. I will tell you quite plainly how to think about certain concepts so that the concepts that you will learn beyond this course will be much simpler. After taking this course, you will no longer feel like there are a million things you need to learn on your own before you can start your programming, or managing/working on a programming team. Let’s do it!


Section 1: Introduction

Lecture 1 Course Motivation – Why Does This Course Exist?

Lecture 2 Instructor – Who am I (Personally)

Lecture 3 Instructor – Who am I (Professionally)

Section 2: The Basics of Your Machine’s Hardware

Lecture 4 The Computing Process – OS

Lecture 5 The Computing Process – CPU/GPU – Slight Correction

Lecture 6 The Computing Process – CPU/GPU

Lecture 7 The Computing Process – RAM and Cache

Lecture 8 Storage – Physically

Lecture 9 Storage – Abstraction

Lecture 10 Color and Display – Human Perspective of Computer Think

Lecture 11 Resources – Slides from Presentations

Lecture 12 Section Summary

Section 3: Programming

Lecture 13 What is a Program?

Lecture 14 Dependencies – What are They?

Lecture 15 Abstraction – Putting Complexity Inside A Pretty Wrapper

Lecture 16 Classes and Objects

Lecture 17 What Do I Use to Type Out a Program?

Lecture 18 How to Start a Programming Project?

Lecture 19 Development Flow and Cycle

Lecture 20 Internal and External-Facing Code

Lecture 21 Automation Execution Methods

Lecture 22 Environments

Lecture 23 Languages – History

Lecture 24 Languages – OOP and Procedural

Lecture 25 Languages – Interpreted and Compiled

Lecture 26 Section Summary

Section 4: Machine Communications

Lecture 27 Human-Human Communications

Lecture 28 Human-Computer Communications (I/O)

Lecture 29 Computer-Computer Communications (Internet)

Lecture 30 Section Summary

Section 5: Social Aspects

Lecture 31 Computer Science Teams

Lecture 32 Professional Team Behavior and Tensions

Lecture 33 Section Summary

Section 6: Special Topics – Spotlight Knowledge Articles

Lecture 34 Special Topic – Compilers

Lecture 35 Special Topic – Terminals

Lecture 36 Special Topic – Network Protocols

Lecture 37 Special Topic – Version Control [Git and GitHub]

Lecture 38 Special Topic – Machine Learning

Lecture 39 Special Topic – Python and Virtual Environment Setup

Section 7: Further Education

Lecture 40 Formal Education

Lecture 41 Informal Education

Lecture 42 Continual Education

Section 8: Resource Recommendations

Lecture 43 Book Recommendations

Lecture 44 Webpage (Article) Recommendations

Lecture 45 Python Package Recommendations

Degree-seeking students (Bachelor’s and Master’s) in the field of Computer Science who want a quick course to learn the fundamentals of computer science to prevent lagging behind in lecture.,Anyone who wishes to change their career field to one in computer science.,Engineers who wish to start using computing tools and writing code as part of their career.,Anyone who is interested in learning more about their compute machines.

Course Information:

Udemy | English | 5h 28m | 5.51 GB
Created by: James Ballow

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top