Computer Science for Beginners learn by building 6 Java apps
4.6 (89 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,349 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Computer Science for Beginners learn by building 6 Java apps to your Wishlist.

Add to Wishlist

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!
Bestselling
4.6 (89 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,349 students enrolled
Last updated 10/2014
English
Current price: $10 Original price: $60 Discount: 83% off
1 day left at this price!
30-Day Money-Back Guarantee
Includes:
  • 10 hours on-demand video
  • 1 Article
  • 7 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Have a coupon?
What Will I Learn?
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!
View Curriculum
Requirements
  • A computer running Windows XP or higher, Mac OS X or basically any Linux distribution.
  • Willingness to learn!
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!

Who 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
Students Who Viewed This Course Also Viewed
Curriculum For This Course
Expand All 91 Lectures Collapse All 91 Lectures 10:03:50
+
Computer Science for Everyone
5 Lectures 21:24
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.
Preview 02:52

This lecture is about what computer science is and essentially what we will be learning in this course.
Preview 03:06


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

Preview 03:21

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/

Preview 08:24

Quiz for Section 1: programming and programming languages

Chapter quiz
6 questions
+
Understanding Computers
5 Lectures 27:05

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

Parts of a computer
05:27

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

The CPU
07:46

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

The RAM
05:25

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

Buses
04:42

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

Graphics Adapters
03:45

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

Chapter quiz
7 questions
+
Binary, Bits and Bytes
2 Lectures 09:51

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

Preview 04:33

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

Converting text to binary
05:18

This is the Section 3 quiz: binary numbers.

Chapter quiz
6 questions
+
The Java Programming language
23 Lectures 02:19:13

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

Brief history of programming
05:15

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

Brief history of Java
03:06

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.

Installing the software necessary
02:48

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

Installing Eclipse
04:58

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.

Preview 05:02

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

Comments, statements, and methods quiz
5 questions

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

Preview 07:21

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
Data types in Java
07:54

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

Preview 1 page

This is a quiz on data types in Java.

Data types quiz
5 questions

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

Data types: programming video
07:28

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.

Preview 03:55

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

Writing text to the console quiz
2 questions

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

Good luck!

Preview 1 page

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!

Preview 09:53

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.

Object-Oriented Programming
08:35

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

More on blocks
09:38

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

Object Oriented Programming quiz
5 questions

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.

More on blocks: programming video
15:51

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.

Accepting user input
03:50

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

User input quiz
3 questions

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

Accepting user input: programming video
11:04

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.

If statements
07:53

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

If statements quiz
4 questions

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

If statements: programming video
07:11

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.

While loops
03:31

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

While loops: programming video
06:06

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.

For loops
02:55

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!

For loops: programming video
04:59

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

Loops quiz
4 questions
+
Algorithms
4 Lectures 20:37

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

Preview 05:52

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

What are algorithms used for?
02:39

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.

Constructing algorithms
04:02

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

Constructing algorithms: programming video
08:04

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

Algorithms quiz
3 questions
+
Data types
4 Lectures 24:54

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

Boolean values
04:31

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

Boolean values: programming video
06:48

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

Strings and characters
06:19

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

Strings and characters: programming video
07:16

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

Data types quiz
4 questions
+
Creating our age program
3 Lectures 11:55

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!

Age program presentation
05:20

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

ASSIGNMENT: Creating the Age Program
1 page

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!

Age program: programming video
06:35
+
Collections in Java
13 Lectures 01:29:51

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.

Arrays
05:06

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

Arrays: programming video
06:47

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.

ArrayLists
08:37

In this programming video we implement the ArrayLists.

ArrayLists: programming video
07:52

A quiz on Arrays and ArrayLists in Java.

Arrays and ArrayLists quiz
7 questions

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.

Iterating through Arrays
03:33

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

Iterating through Arrays: programming video
04:35

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.

Iterating through ArrayLists
05:25

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

Iterating through ArrayLists: programming video
06:44

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

ASSIGNMENT: Implementing a DVD Store
2 pages

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

Preview 11:17

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

ASSIGNMENT Video 2: Creating the Store Class
11:02

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

ASSIGNMENT Video 3: Creating the Controller Class
18:47

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!

ASSIGNMENT: Code files
00:06
+
Inheritance in Java
2 Lectures 16:36

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

Inheritance
04:47

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

Inheritance: programming video
11:49
+
Data Structures
23 Lectures 03:13:12

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

What is a Data Structure?
02:48

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!

Creating our List
13:40

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.

Creating the Node class: programming video
05:06

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

Creating the List class: programming video
07:02

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

Creating the Controller class: programming video
21:31

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

ASSIGNMENT: Implementing a List
2 pages

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!

Creating our Queue
04:55

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.

Creating the Node class: programming video
02:37

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).

Creating the Queue class: programming video
06:32

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

Creating the Controller class: programming video
07:12

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.

Creating the Menu: programming video
09:44

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

ASSIGNMENT: Implementing a Queue
2 pages

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

Stacks
02:18

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

Stacks: programming video
08:26

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!

Sets
07:41

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

Sets: programming video
14:40

For this assignment we are going to use Sets to implement a Lottery system with user input.

ASSIGNMENT: Simulating a Lottery
1 page

In this lecture we take a look at the last data structure: the Binary Tree.

This is the most complicated data structure, and the most complicated part of the course.

Binary trees
05:45

In this programming video we create the Node class for our Binary Tree. Remember that Nodes use two child Nodes in Binary Trees, one for the left and one for the right child.

Creating the Node class: programming video
04:03

In this lecture we take a look at how to delete Nodes from a Binary Tree.

Deleting from a binary tree
04:02

In this programming video we implement the Tree class. In the next video we will look at deleting Nodes from a tree in programming.

Creating the Tree class: programming video
27:22

In this programming video we implement a way to delete Nodes from a Binary Tree in programming.

Deleting Nodes from a Tree: programming video
27:55

In this programming video we take a look at how to create the Controller class and the menu for our Binary Tree.

Creating the Controller class: programming video
09:53
2 More Sections
About the Instructor
Jose Salvatierra
4.6 Average rating
2,047 Reviews
17,470 Students
6 Courses
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!