
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Learn how variables function as store locations for data types with symbolic identifiers, holding values that can change at runtime, illustrated by x, y, and z and assignments in C.
Learn data types and value types, including bool, int, char, float, double, and string, and how memory allocation and default values work. Compare assignment and equality.
Explore how programs store and manipulate values with variables, apply arithmetic, modulus, and logical operators, and derive boolean results from relational and conditional expressions.
Learn how conditional statements guide program flow with if, else if, and else blocks. See a simple calculator example that reads numbers and performs operations based on user input.
Explore loops as a fundamental programming structure, using while and do-while constructs to repeatedly execute statements, manage conditions, and increment counters.
Discover how arrays consolidate data of the same type, enabling fixed-size storage and indexed access in C. Create, initialize, and access arrays using base indices and loops to print elements.
Explore one-, two-, and three-dimensional arrays and their indices for organizing data. Model students across classes and schools with multi-dimensional arrays, and learn how array size is determined.
Explore multidimensional arrays with two dimensional arrays, learn zero-based indexing for rows and columns, declare and initialize 3x4 arrays, and compute a reviewer average rating across movies.
Learn how functions transform inputs into outputs, enabling modular, reusable code with parameters and return types, and see built-in and custom examples like max and hello world.
Learn how to read from and write to files using various modes, including read-only, write-only, read/write, and append, with examples in C++, Java, and Python.
Define object oriented programming as a paradigm where objects with attributes and methods interact via object models, covering analysis, design, programming, with languages like Java, C++, C#, Python, and JavaScript.
Explore objects and classes in object-oriented programming, define classes, instantiate objects, and detail attributes and methods with circle examples (center, radius) and their state.
Detail class variables, instance variables, and member variables. Explain class methods and instance methods and how they relate to a class or object.
Explore encapsulation and data hiding as core object-oriented concepts that bind data and methods, restrict external access, and enable safe data management through public and private interfaces.
Learn how objects communicate via message passing, where a method call triggers dynamic dispatch and executes object-specific code. Explore unidirectional interactions and invoking class methods across processes.
Explore inheritance in object oriented programming by extending classes to derive subclasses and share methods and variables between parent and child classes, covering single, multiple, multilevel, hierarchical, and hybrid inheritance.
Master polymorphism in object oriented programming by using a common interface to draw or calculate area, with circle, square, cat, and dog implementing different behaviors.
Explore generalization and specification to build class hierarchies, forming a centralized superclass from common characteristics and specialized subclasses, using the is a kind of relationship to guide team code design.
Explore links and associations in object-oriented programming, defining association and link, and analyze one-to-one, one-to-many, and many-to-many cardinalities with practical examples.
Learn JavaScript programming fundamentals through concepts and coding challenges.
This course focuses on core programming logic, including variables, data types, operators and reusable functions. It also introduces object-oriented concepts. It does not promise complete coverage of every modern web framework or a job-ready outcome.
What you will learn
Practice conditional logic, iteration, arrays and functions. Exercises include greetings, unit conversion, leap-year reasoning and number validation. Use the recorded examples to build understanding before extending a solution yourself.
Put the ideas into practice
The new data-validation workshop asks you to summarize an array of scores and distinguish valid numbers from invalid values. You will write expected outputs, handle an empty input and check that the original data remains unchanged.
Work through the lessons at your own pace. Pause demonstrations to reproduce the examples, then change one input and predict the result before running the code or checking your answer. Keep a short learning journal containing the question, your attempted solution, the result and the reason for any correction. This helps you identify concepts to revisit instead of simply repeating a lesson.
The course is intended as a structured learning resource. Check the curriculum and prerequisites to decide whether its scope fits your goals. Recorded software interfaces, installation steps and third-party services may have changed since filming. Consult current provider documentation when setting up tools, and use a small local practice environment for experiments.
By the end of your study, aim to explain the central ideas in your own words, complete the practice activities and identify where you need further learning. Progress depends on the time you spend applying and reviewing the material. No particular job outcome, examination result or speed of mastery is guaranteed.