
Explore the fundamentals of the C programming language, from syntax to memory concepts. Learn about primitive types, operators, control flow, arrays, pointers, dynamic memory, and stack and heap.
Learn to find and install a C compiler across Windows, Linux, and Mac using GCC or Goodnews, with MinGW for Windows and a free Mac tool suite.
Create a minimalist hello world in C by including stdio.h, declaring main with argc and argv, printing via printf, and compiling with make.
Learn the C language primitive types, including integer, character, and floating point types, with signed and unsigned variants and how size of a type determines max and min values.
Explore arithmetic operators in C, print integer results, and learn how integer division differs from floating point division, then convert to floats to obtain real results.
Explore shortcut assignment operators, prefix and postfix increment/decrement, float arithmetic, and printing with character and integer formats, plus ASCII case changes using 32.
Explore decision making in C using the ternary operator, if-else chains, and switch statements; learn relational, equality, and logical operators, and understand assignment vs. comparison and operator precedence.
Explain conditional logic with if, else if, and else, then demonstrate a switch on a command line argument counter, printing argument counts and introducing strings and pointers.
Explore arrays that store values of the same type, indexed from zero, using a five-element grades array to compute and print an average with float division and two-digit formatting.
Learn how pointers in C are variables that hold memory addresses, using the address of and contents of operators to access and modify values.
Explore pointer basics with int and char pointers, learn about addresses and the size of pointers, and see how argc and argv form an array of strings in a demo.
Explore while, do-while, and for loops in C, detailing pre-check and post-check behavior, and illustrate initialization, condition, and increment with example prints of 0 through 9.
Explore pointers and functions in C, covering definitions, calls, parameters, void and value returns, type casting, and a wedge printing example, plus an exercise on swapping integers.
Explore pass by value versus pass by reference, showing how values swap inside a function but require pointers to affect outside state, and how arrays behave as pointers.
Learn to build a program that reads two numbers with formatted input via scanf, adds and multiplies them, and references the GCC function list to locate input functions like stdio.h.
Learn to use scanf for input by prompting for two integers, then compute and print their sum, product, and the maximum, with functions for input and arithmetic.
Explore pointer arithmetic and how adding to a pointer moves to the next element based on its type, with arrays as pointers to the first element via square bracket syntax.
Find max and min in an array using pointer arithmetic in C, demonstrating equality with array indexing, the role of limits.h, and pointer safety concerns.
Learn how structures form composite types with dot and arrow access, using struct and typedef. Grasp stack and heap memory, and dynamic allocation with malloc and free for structures.
Demonstrates allocating a book structure on the heap with malloc, accessing fields via dot and arrow operators, and freeing memory to prevent leaks, while contrasting heap and stack storage.
Explore how linked lists use pointers to connect elements, implement singly and doubly variants, and support add, delete, and memory management, with stacks and queues as typical uses.
Demonstrates a stack built as a singly linked list with push and pop operations on integer data. Includes add, subtract, multiply, divide, swap, clear, and print.
Explore a simple stack-based command interpreter that parses command line arguments to push integers or floats, swap elements, and manage a memory slot.
Explore C++ primitive data types and their byte sizes, using the size operator to compare short, int, long, bool, float, double, and long double across platforms.
Explore C++ streams for input and output using cout, cin, cerr, and clog. Learn to prompt for a name, read input, and greet the user with stream insertion and extraction.
Capture an entire input line in C++ by using getline with a maximum length (for example 256) instead of cin, enabling names like John Doe to print fully.
Explore how string streams turn strings into streams and back, using istringstream and ostringstream to handle input and output in C++, and how this improves type checking and safety.
Open an input file stream and an output file stream, read lines with getline into a string, write them to the output, and close both streams.
Explore C++ functions, comparing pass by value and pass by reference, including swap, const references, and string handling, with examples of void and returning functions.
Examine how C++ surpasses C by using type-specific add functions and namespaces, showing why this is bad code and hinting at a powerful mechanism for multiple parameter and return types.
Explore explicit function template instantiation in C++, using a header-based multiply template, explicitly instantiate for int and float, and contrast with implicit instantiation for booleans.
Learn how to declare a class in C++ using the class keyword, define a point with private x and y, and declare constructors and getters.
Learn how destructors manage memory in C++ by seeing why deleting a line doesn't automatically delete its heap-allocated points, and how to implement a destructor to prevent memory leaks.
Download IntelliJ IDEA from JetBrains, choose the community edition for essential tools, and learn how to run it and set up course projects.
Explore the essentials of a Java program by creating a main class, understanding packages, and using System.out.println and exit codes to run and debug.
Learn to read user input in Java by wrapping System.in with a Scanner to obtain a name from the standard input stream. Print a greeting using the captured name.
This course covers all leading programming languages, starting with C, C++, Java, JavaScript, Python, PHP, Ruby and Swift2
You are meant to watch 1 hour per day for 14 days. This is a commitment you must set aside before you start this course.
We will start with C and C++ programming language. We'll start with data types of C, then quickly dispel the mystery (and fright) that surrounds C's most powerful element, the pointer. Understanding pointers first allows us to grasp the underlying nature of arrays and structs, parameters passed by reference, and many other things hidden by other languages but exposed in C.
Then we will move to streams in C++ , which simplify input and output a great deal.
Then we will start with PHP where we will cover basic syntax, variables, loops and decision constructs. Then we will learn object oriented features along with string functions. After this we will move to arrays then after understand how REQUEST, GET, and POST works with server variables. Next will be how to connect to MySQL database.
JavaScript is a programming language that can be run by all modern web browsers. It is downloaded alongside the HTML code of a webpage. Unlike HTML, which can only be used to display content, JavaScript allows web designers to add functionality and interactivity to their websites.
We will begin the Python section by installing the Python 3 interpreter. We will look at how to run the interpreter in the command line, as well as how to execute our Python source files.
After that, we will learn about how to manipulate some basic data types. We will learn about how use Python to do simple arithmetic. Then, we will learn about working with words and characters, using a data type known as the "string". We will also cover the Boolean type, which is a representation of True and False inside of a programming language.
In Ruby section we will learn how to run Ruby interactively at the command prompt. Then understand variable, constant, variables, methods, classes and control structures. We will also cover attribute specifiers, then learn implementing inheritance and how method access in Ruby works.
Next section covers version 2 of the Swift language. Swift is a powerful language used to develop applications for iPhone, iPad, and OS X. In this course, you’ll learn about Xcode 7 (Apple’s integrated development environment), and learn to write short programs in Swift, which will prepare you to start learning to develop full applications for Macs and Apple’s mobile devices.
I hope you’ll join us for this exciting course.