CS101: Introduction to Computer Science
4.4 (49 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,170 students enrolled
Wishlisted Wishlist

Please confirm that you want to add CS101: Introduction to Computer Science to your Wishlist.

Add to Wishlist

CS101: Introduction to Computer Science

Computer Science & software programming for absolute beginners. No coding background necessary.
4.4 (49 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
2,170 students enrolled
Created by Samuel Spencer
Last updated 7/2017
Price: Free
  • 2.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Understand how computers work from inside out
  • Understand basic concepts of software programming (in Java, Python, PHP)
  • Fundamentals of databases, mobile apps and cloud computing
  • Write basic software programs and applications
View Curriculum
  • No technical prerequisites for this course.
  • I assume that you have used a computer and/or smartphones before, but I don't expect you to have any other technical knowledge.

My "CS101: Introduction to Computer Science" course aims to be a Computer Science and software programming introductory course for anyone with no technical background in Computer Science. If you've used a smartphone or computer in the past, that will be sufficient for you to take this 2-hour course, and explore the basics of Computer Science and software programming, as well as up-to-date topics and the latest technology trends in Computer Science.

If you are an absolute beginner to Computer Science, you will enjoy this course because:

  1. It teaches you the basics of Computer Science and Software Programming, and you can take it with zero technical or computer background.
  2. This beginner course has the basics of Computer Science (normally an entire semester or several months) packed into a 2-hour course. You can finish it in one day, or if you prefer to take one lesson of a few minutes per day, still be able to finish it within a week.
  3. Whether you plan to become a software programmer or engineer, or just learn the basics of Computer Science or Software Programming out of curiosity, this beginner's course will equip you with fundamental understanding of Computer Science concepts.
  4. The course is updated with the latest technology that you would expect to use in 2017, such as developing mobile apps,  Big Data, cloud computing, and SQL and NoSQL databases, etc.

Topics I teach in this course

  • Basics of hardware: 
    • How processors (CPUs), memory, disk drives work
    • The basics of desktop and laptop computers and portable electronics such as smartphones and tablets
  • Basics of software
    • How software is built. The basics of compilers, interpreters and assembly language.
    • Popular programming languages
  • Building webpages in HTML, CSS and JavaScript
    • Fundamentals of HTML, CSS and JavaScript: the core technologies you need to build websites today
    • CSS frameworks and the Bootstrap CSS framework
    • Introduction to JavaScript frameworks such as jQuery, Angular and React
  • Programming concepts in Java
    • Introduction to the Java programming language
    • Fundamentals of programming languages, such as variables, statements, functions, classes
  • Additional programming concepts in Python programming language
    • How Python differs from Java
    • Why Python is popular, and Python programming constructs that help with data analysis or simple scripting
  • Web servers: Apache, Tomcat, nginx
  • Basics of PHP and Ruby programming languages
    • Why PHP is popular
    • Introduction to popular PHP packages / frameworks such as WordPress, Joomla, Drupal, etc
  • Mobile app development
    • iPhone, Android and other programming models
  • Databases: SQL and NoSQL
    • Sample SQL and NoSQL scripts
    • Introduction to popular databases: MySQL, SQL server, MongoDB, etc.
  • Big Data and data analysis
    • Brief introduction to Hadoop
  • Cloud computing
    • IaaS, PaaS, SaaS
    • Private, public and hybrid clouds
  • Conclusion, and next steps to becoming a full programmer
Who is the target audience?
  • Anyone who wants to understand Computer Science and software programming, and perhaps learn to code.
  • In this course, I aim to teach you enough basics about Computer Science and coding or programming, whether it be to satisfy your curiosity, or as a stepping stone to a career in Computer Science and software engineering.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
13 Lectures
3 Lectures 41:39

Introduction to the CS101 course. Also includes a summary of all the topics that we will be learning in this course.


The basics of computer hardware.


How computer software works, how software programs and programming languages work.

Websites & HTML, CSS
2 Lectures 19:03

This class covers how websites work, and how you can get a basic website up and running. It includes an introduction to two underlying technologies that power websites: HTML (HyperText Markup Language) and CSS (Cascading Style Sheets).

Websites & HTML, CSS

This class goes into more depth on the topic of HTML and CSS languages for building websites.

Websites & HTML, CSS (2)
Programming Languages
3 Lectures 36:01

We explore Java, a popular programming language, as well as some fundamental programming concepts using the Java programming language. You will learn to write two very simple (but useful programs) in Java.

Programming in Java

This class introduces another popular programming language, Python. You will understand the basics of this interpreted programming language, and refine and enhance some of the programming concepts you learned in the last programming class on Java.

Programming in Python

We explore JavaScript, a programming language which extends HTML and CSS to make websites more feature-rich and powerful. Learn how JavaScript and its popular frameworks (such as jQuery, AngularJS and React) help you build powerful web applications.

Websites & JavaScript
Web Servers, Databases & Big Data
2 Lectures 29:55

While HTML, CSS and JavaScript power websites that users see, you need web server technologies to power the data and features that users see. We will learn about web servers (Apache, IIS and Tomcat) as well as popular web programming languages such as PHP and Ruby. A short introduction to REST and APIs is included in this class.

Web Servers, PHP, Ruby and APIs

At this point, you have learned the basics of coding and programming software applications, be they websites or server software. But how do you quickly store, retrieve and analyze data? This class on databases and Big Data gives you an introduction to the world of relational databases, SQL and NoSQL technologies, and Big Data and the software tools that power this (Hadoop, Kafka, Flume, ElasticSearch, MongoDB, etc.)

Databases (SQL, NoSQL) & Big Data
Mobile Apps & Cloud Computing
3 Lectures 25:22

Mobile devices have surpassed desktop and laptop computers both in terms of sheer numbers, or usage time. In this class, we explore the basics of building mobile websites and mobile apps that run on the popular mobile devices (Apple's iOS for iPhones and iPads, and Android).

Mobile Apps

What is cloud computing? Is it a paradigm shift from computing in the past? This class on cloud computing demystifies this new area of computing, and explains how it relates to server administration and operations (or DevOps). We explore IaaS, PaaS and SaaS cloud models, as well as private, public and hybrid clouds.

Cloud Computing

This brings us to the end of our 2-hour journey learning about the basics of Computer Science and software programming. While you have learned the basic concepts of computers, devices and software programming, this conclusion will provide you with pointers and resources to explore all these topics in far greater depth after finishing this course.

About the Instructor
Samuel Spencer
4.4 Average rating
47 Reviews
2,170 Students
1 Course
Web Developer

I'm a freelance web developer who travels around the United States, working with large and small clients to build out their websites or software applications. 

I've recently started invited to give guest lectures at various community colleges in areas I visit, and I've become passionate about using my skills to train others in the field of computer and software engineering.

I have a engineering degree from the University of Florida. Go Gators!