Computer Science for Beginners learn by building 6 Java apps

Computing for the rest of us: finally get started with Java. Computer programming could save your career!
4.4 (45 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.
1,058 students enrolled
$25
Take This Course
  • Lectures 91
  • Contents Video: 10 hours
    Other: 10 mins
  • Skill Level Beginner Level
  • Languages English
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 1/2014 English

Course Description

This is a complete course for you to take at your own pace, which starts at the very beginning of computer science and takes you all the way to algorithms and data structures, two pillars of computer science and programming.

Many online courses teach solely by programming and building apps. This is a great way to get some quick experience, but it doesn't teach you the very fundamentals of computer science, which you need to get yourself to the next level and which internet companies worldwide are desperate for you to understand.

Today I will start the journey of taking you from no programming experience to become someone who truly understands the field and the more complex aspects of it.

In this course not only do we learn by building 6 Java applications, we learn how to build these by using these more advanced and vital concepts:

  • Collections (Arrays and ArrayLists)
  • Linked Lists
  • Queues
  • Stacks
  • Sets
  • Recursion
  • Binary Trees

This course is great if you are 100% new to computer science, but also if you already have some experience and would like to learn these concepts.

We will start with things like what programming is, how computers work, and what binary numbers are, and then we will move onto programming in Java, covering data types, if-statements, and loops. After that, we will learn more advanced Java concepts, like boolean comparisons, file I/O, algorithms, and data structures.

If you complete over 80% of the course material, you will get a certificate of completion that will tell potential employers that have completed this course, and thus helping even further!

However, if you ever feel that the course just isn't for you, or maybe you expected some completely different, I offer you a 30-day money-back guarantee, regardless of the reason why you might choose to take it.

Look at what some people are saying!

He is very down to earth, concise, and knowledgeable on the lectures he presents. I am looking forward to more advance courses from Jose -- keep up the wonderful work! - "Jay-Ar Jamon"
Was nice and easy to follow for a beginner like me. I'll definitely be revisiting the course again to refresh my memory since it covered so many topics... - "Clara Chen"

Join me in a journey of learning. Lets enjoy the course!

What are the requirements?

  • A computer running Windows XP or higher, Mac OS X or basically any Linux distribution.
  • Willingness to learn!

What am I going to get from this course?

  • Boost your employability by acquiring skills in high demand
  • Learn Java programming: a fantastic language which can be used in most devices
  • Understand the main pillars of Computer Science, enabling you to learn any other language easily!

What is the target audience?

  • Anyone who wants to enhance their CV by acquiring skills in high demand
  • People of any age and ability who are interested in the burgeoning world of computing

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: Computer Science for Everyone
02:52
This lecture is about the instructor, Jose Salvatierra, the course structure and a brief history of computers to get us into the Computer Science mood.
03:06
This lecture is about what computer science is and essentially what we will be learning in this course.
About computers
Preview
03:41
03:21

This lecture is about what programming is. It's actually a really simple concept!

08:24

There are a few groups, or types, of programming languages. Here we cover the largest ones.

If you want more information on how ASSEMBLY works, I've written a more extensive description for you to read: http://jslvtr.com/explaining-assembly-to-the-beginner-in-computer-science/

6 questions

Quiz for Section 1: programming and programming languages

Section 2: Understanding Computers
05:27

We take a look at the parts of a computer in a basic view.

07:46

Here we go more in depth as to what the CPU (Central Processing Unit) of a computer is.

05:25

Here we discuss what the RAM (Random Access Memory) is and why we need it.

04:42

Here we describe what buses are. And yes, they are methods of transport!

03:45

Here we talk about the function of graphics adapters or graphics cards in modern computers.

7 questions

This is the quiz for Section 2: parts of the computer

Section 3: Binary, Bits and Bytes
04:33

Here we start to dive into the base two numbering system, or binary.

05:18

Here we talk about converting text to binary. Can you decipher the message?

6 questions

This is the Section 3 quiz: binary numbers.

Section 4: The Java Programming language
05:15

In this lecture we look at a (very) brief history of programming.

03:06

In this lecture we take a look at the history of Java up until now.

02:48

In this lecture we take a look at how to install the software that we will need in this course:

  • Eclipse (http://www.eclipse.org)
  • JDK: Java Development Kit (http://www.oracle.com/technetwork/java/javase/downloads/index.html)

Make sure to install the "Eclipse IDE for Java Developers" version of the Eclipse program.

04:58

In this video we take a look at Eclipse, the program we downloaded in the previous video, and its different parts.

05:02

In this lecture we take a look at what comments, statements, and methods are in Java.

A comment is a line of code that gets ignored when the program is running. It is used so that you can write explanations of what the code does, maybe for other people who might be reading your program, or reminders of what you still need to implement.

Statements are single instructions that get executed in one line. They end with a semi-colon in Java.

Methods are names for a group of statements. "Calling" a method is simply executing the set of statements that are comprised within the method.

5 questions

This is a quiz on the previous lecture, "Comments, statements, and methods".

07:21

In this video we program some comments, statements, and methods.

07:54

In this lecture we take a look at the different types of data that can be stored in Java variables, the main ones being:

  • String: a set of characters, like a phrase, word, or anything else.
  • int: a whole number.
  • double: a number with a decimal point (double precision).
  • boolean: a true/false value
1 page

This is a document outlining the main data types in Java.

5 questions

This is a quiz on data types in Java.

07:28

In this video we take a look at how the data types and variables are programmed in Java.

03:55

In this lecture we take a look at how to write text to the console, so that our program can write output to the screen for the user to read.

Please check the supplementary material provided for some exercises on writing text to the console, before and after checking the next programming video.

2 questions

This is a short quiz on writing text to the console in Java.

1 page

This is your first assignment: to create a program that will print text to the screen.

Good luck!

09:53

In this programming video we take a look at how to write text to the console, with a more hands-on approach.

Remember to attempt the exercises after this video if you didn't already!

08:35

In this lecture we take a look at one of the main paradigms of Computer Science: Object Oriented Programming.

This is a really important concept. Make sure you understand this throughout the next few videos.

09:38

In this lecture we explain a bit more on blocks: classes and methods, and how they work.

5 questions

This is a quiz that will test your knowledge on Object-Oriented Programming.

15:51

In this video we go to our programming environment and try to work with objects and methods, to extend our knowledge with these two concepts.

03:50

In this lecture we take a look at how to accept user input from the users of our program. This will let our program interact with the user fully.

3 questions

This quiz is meant to test your knowledge on accepting user input with Java.

11:04

In this programming video we will take a look at how to accept user input with a more hands-on approach.

07:53

In this video we take a look at how to make our program "branch out". This means, instead of simply being sequential, make our program do one thing or another depending on the result of a test we give it.

4 questions

This quiz will test your knowledge of if statements in Java.

07:11

In this programming video we keep exploring the 'if statements' with a more hands-on approach.

03:31

In this lecture we introduce the concept of a while loop. This lets us repeat a set of statements many times.

The while loop works with a test. While this test is true, the statements we give the loop are repeated. When the test is no longer true, then we stop repeating the statements.

06:06

In this video we continue looking at while loops, by going to our programming environment and having a more hands-on approach.

02:55

In this lecture we introduce another new concept, the for loop. This is another type of loop that repeats a set of statements a given number of times.

04:59

In this programming video we take a more hands-on approach at programming for loops.

In the next section we will start putting all of these concepts together into actual working programs!

4 questions

This quiz will help you test your knowledge of loops in Java, both `for` and `while` loops.

Section 5: Algorithms
05:52

In this lecture we take a look at what Algorithms are, and essentially how computers work.

02:39

In this lecture we explain what algorithms are used for in the computing world.

04:02

In this lecture we look at how we would think about constructing algorithms. It is very important to realise how the computer thinks and how it works when creating new algorithms.

08:04

In this programming video we actually start constructing some algorithms and we take a look at how the programming side would look like.

3 questions

This is a quiz for the section of the course on Algorithms.

Section 6: Data types
04:31

In this lecture we take a more extensive look at the boolean values and how to use them.

06:48

In this programming video we continue using boolean values and comparisons.

06:19

In this lecture we study Strings and characters more in-depth than we did previously.

07:16

In this programming video we continue studying Strings and characters, with a more hands-on approach.

4 questions

This is a quiz for the section of the course on extended Data types.

Section 7: Creating our age program
05:20

In this lecture we talk about how we are going to implement the first full program of the course.

Remember to check the supplementary materials before and after watching the programming video. Attempt to implement this program before watching the next video!

1 page

Another assignment for you: attempt to create the age program we talked about in the previous presentation.

06:35

In this programming video we implement our age program.

Remember to use the document provided, and try to implement this program before watching the video!

Section 8: Collections in Java
05:06

In this lecture we take our first look at how to group variables: give a single name to a group of variables, by using an Array.

06:47

In this programming video we implement and explain more about Arrays.

08:37

In this lecture we explain another Collection in Java: the ArrayList. It is in many ways similar to the Array, but has some key differences.

07:52

In this programming video we implement the ArrayLists.

7 questions

A quiz on Arrays and ArrayLists in Java.

03:33

In this lecture we take a look at how to iterate through an Array. This means visit every element of an Array in order to access each of the values that are grouped together.

04:35

In this programming video we implement what we saw in the last video: iteration over arrays.

05:25

In this lecture we see how we can iterate through ArrayLists.

We can use all the knowledge gained so far to implement a new program. The supplementary material provided will give you an exercise you can try to implement.

06:44

In this programming video we take a further look at how to iterate through ArrayLists.

2 pages

Try to bring together all the knowledge accumulated to far in the course into one assignment: a DVD store.

11:17

In this video we talk about how to create the first part of the assignment: the DVD Class.

11:02

In this video we talk about how to create the second part of the assignment: the Store Class.

18:47

In this video we talk about how to create the last part of the assignment: the Controller Class.

Article

These are the code files for the finished DVD Store assignment. Only use as reference / to learn, but after you have attempted it on your own!

Section 9: Inheritance in Java
04:47

In this lecture we study another one of the pillars of Object-Oriented Programming: Inheritance.

11:49

In this programming video we keep exploring inheritance and how to implement it.

Section 10: Data Structures
02:48

In this lecture we study how to store data in our programs efficiently by getting an introduction to Data Structures.

13:40

In this lecture we talk about how to create our first data structure: the linked list.

Many other data structures are based on this one, so pay close attention!

Remember to check the supplementary materials in order to find an assignment to do with Lists before watching the programming videos!

05:06

In this programming video we talk about how to create the first part of our List: the Node.

A Node in a List just holds the information that each element in the List should hold, plus a reference to the following item on the List, so that we can traverse it from beginning to end following these references.

07:02

In this programming video we talk about how to actually program the List.

21:31

In this programming video we create a Controller class that will control our List and let us deal with user input.

2 pages

Try to implement what we have been discussing in the past four videos: a List.

04:55

In this lecture we talk about how to create our Queue. A Queue is a data structure that is very tightly based on the List.

Please remember to check the supplementary materials for an assignment on creating the Queue!

02:37

In this programming video we talk about how to create a Node for our Queue. It is essentially the same thing as for our List.

06:32

In this programming video we talk about how to create the Queue class that is going to store functionality to deal with Nodes in a Queue-like fashion: first-in first-out (FIFO).

07:12

In this programming video we start creating our Controller class to deal with user input and control our Queue.

09:44

In this programming video we extend the Controller class to include a menu, which will let the user run the program indefinitely, adding and removing Nodes from the Queue, until he/she decides to exit.

2 pages

Now try to bring together the List and some extra functionality to implement a Queue.

02:18

In this lecture we talk about Stacks, a new data structure that is also based on the List.

08:26

In this programming video we keep exploring Stacks, and how to implement them as compared to Lists and Queues.

07:41

In this lecture we talk about a new data structure, the Set. Sets are no longer based on Lists, as they are a completely different and new data structure!

14:40

In this programming video we implement a Set class by extending the Java built-in HashSet class.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Jose Salvatierra, Founder of School of Code and Computer Science instructor

I've been teaching computer science and playing and teaching music (grades 1 to 8) for over four years, to students of all ages and all skill levels. Here's my story so far.

I started programming at the age of 10, just a couple years after I started studying music, when my dad, excited that I had showed interest in similar things to himself, taught me the basics of Marin Saric's METAL. Shortly thereafter we moved on to RealBASIC, and from there I started learning, after a couple years, Java and C.

Ever since I started learning programming I knew I wanted to study Computer Science or something along those lines. Last year I ended up at the University of Dundee, studying Applied Computing.

The University of Dundee is one of the most prestigious for computing-related courses, and I was offered the chance to participate in their computing scholarships due to academic achievement.

I have worked for "Eseye", an M2M company, as an intern doing mainly backend developing, writing PHP scripts and programming Zenoss ZenPacks, and currently work for Skyscanner, one of Scotland's largest technology companies, programming mainly in Python and web languages.

At the moment I enjoy programming in Python, Java and C, playing and recording music, usually as an accompanying pianist for singers, and sports and bodybuilding. I hope that my courses are interesting to you, enjoyable and that you learn from them!

Ready to start learning?
Take This Course