
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Learn how Visual Studio Code serves as a cross-platform source code editor and integrated development environment with debugging, version control, syntax highlighting, autocomplete, snippets, refactoring, and customizable plugins and themes.
Install Visual Studio Code and start with the first steps, then explore editing, debugging, code navigation, extensions, and source control integration with Python and other languages.
Learn to set up Python in Visual Studio Code, create and save a hello world script, use autocomplete, and run it in the terminal, and execute scripts from the interpreter.
Master the concept of variables as the fundamental data type in programming, where an identifier stores a value that can change during runtime.
Explore key data types such as boolean, integer, character, float, double, and string, and distinguish assignment from equality in this fundamentals lesson.
Explains Python variables and memory allocation, automatic declaration on assignment, and printing with the built-in print function, including multiple assignment and basic types: numbers, strings, lists, tuples, and dictionaries.
Explore Python data types by building and manipulating lists, tuples, and dictionaries, access elements with indexes and slices, and learn core operations and common pitfalls.
Explore Python data type conversion using built-in functions to convert between types such as int, long, float, string, dict, and complex, with examples converting strings to numbers and Unicode.
Explore how variables store and update values, and how arithmetic and logical operators drive expressions, checks, and conditional decisions. Examine remainder, string concatenation, relational operators, and boolean results.
Explore how if statements drive conditional logic through the selection structure by choosing commands based on true or false conditions, using if, else if, and else blocks, with calculator examples.
Learn decision making in Python through if statements, nested ifs, and elif else blocks, using boolean expressions and proper indentation to control which print statements execute.
Explore how loops enable repeated execution, focusing on while and do-while loops, their conditions and updates, and pitfalls like endless loops illustrated by printing hello world.
Explore loops in Python, including while and for loops, and nested loops; learn loop control, incrementing indices, and termination conditions to avoid infinite loops.
Explore loops and iteration in Python, including while and for loops, iterating over sequences, using range to print values, and nesting loops for complex patterns.
Explore arrays in programming by storing multiple integers in a single array, indexing elements from 0 to size-1, initializing and printing values with loops in C.
Explore two-dimensional arrays in Python and compare them to one-dimensional arrays using class, school, and student examples. Learn to index, size, and select the appropriate array dimensions for multi-level data.
Explore multidimensional arrays and 2d arrays, with rows and columns, zero-based indexing, and practical rating matrix examples to compute sums and averages.
Learn how functions act as modular, reusable blocks of code with specific inputs and outputs, including parameters, return values, and examples like max finding in C and hello world.
Explore Python functions, including defining user defined functions with def, passing parameters, calling, and returning values; learn about modular code, side effects, and list mutation via references.
Explore file input and output in programming by reading from and writing to files, including read, write, append, and read-write modes across C++, Java, and Python, with practical examples.
Learn Python input and output basics, including print and input, plus file handling with open, write, read, and close, and how to inspect file name and mode.
Explore the fundamentals of object oriented programming, including objects, attributes, and methods. Follow the analysis, design, and programming cycle and see how object models and inheritance support modular, reusable code.
Explore objects and classes in object oriented programming, defining their identity, state, and behavior, and show how classes serve as blueprints for objects with data members and methods.
Explore how methods function as procedures in object-oriented programming, detailing class variables, instance variables, and the distinction between class methods and instance methods.
Explore encapsulation and data hiding, binding data and methods while restricting external access to internal state. See how public, private, and protected controls enable abstraction, decoupling, and safer refactoring.
Explain how a method call, or method passing, lets an object dynamically dispatch code to execute, enabling uni-directional messages between objects with input parameters.
Explore inheritance and object composition in object-oriented programming, with is-a relationships, base and derived classes, and inheritance types: single, multiple, multi-level, hierarchical, and hybrid; illustrated with animal and vehicle examples.
Explore polymorphism and subtyping in object-oriented programming, using a common interface across shapes like circle and square to draw and find area within an inheritance hierarchy.
Explore generalization and specification in object oriented programming, forming higher level classes from common traits and creating specialized subclasses. Understand is-a relationships and when to generalize or specialize.
Explore links and associations in object-oriented programming, defining association as a relationship between objects and a link as its instance, with one-to-one, one-to-many, many-to-many; relate to databases and DBMS.
Learn to send an email with Python using the smtplib library, configure the SMTP server and port, login with credentials, and send a test message to a recipient.
Discover how to parse XML in Python using the DOM API and minidom, loading the document into a DOM tree to iterate products and extract attributes like name and price.
Explore multithreading in Python by creating and managing threads, sharing data across the same process, and comparing kernel and user threads for lightweight concurrency.
Learn a three-step process to master sql in access, mariadb, and other relational databases, because the basic sql logic remains the same across systems despite small differences.
Learn why SQL matters: it is a structured query language used to store, manipulate, and retrieve data in relational databases, standard language for DBMS powering apps like Facebook and Twitter.
Install XAMPP, Apache, MySQL database server, and SQLYOG as a database client to set up a local web server and database environment.
Start and stop modules via the control panel, launching the Apache web server and the MySQL (MariaDB) database server. Note the process ID and port 3306.
Create your first database by connecting as root to localhost on port 3306, optionally setting a password, then run a create database query and view the empty schema.
Learn how to drop a database and recreate it using sql queries, view databases, and refresh the object browser, while understanding risks and the need for backups.
Create a student table by defining an id integer primary key, and a not null name varchar(30), plus optional age, grade, and degree fields.
Learn how to manage tables by creating and dropping tables, including using drop table to remove a table, verify by selecting, and using insert into to add rows.
Learn how to write insert statements with insert into, specify columns or provide all columns, and populate a students table with example values after executing the statements.
Create a new table from an existing one using create table as select * from students, copying all data and illustrating the resulting sets.
Master the select statement syntax to query a table, such as students, using select * for all columns or specify columns like name and age, then execute to view results.
Master the where clause to filter records in select queries, using exact values, quotes for strings, and applying the same logic to update and delete statements.
Master sql statement operators by using greater than, less than, and equal comparisons, and combine conditions with and or to refine selections from the students table.
Learn how to update data using update queries to modify existing records with set and where clauses, including updating multiple columns or all rows in a table.
Learn to delete data with delete statements in SQL, using delete from table where conditions to remove specific records or delete from table to remove all rows.
Learn to use the like operator in a where clause with wildcard characters to match patterns, such as names starting with Chris or containing Mal.
Learn how to limit results across MySQL, MSSQL, and Oracle using limit, top, and rownum syntax, with examples using select statements to fetch the top N records.
Learn how to use the order by clause to sort query results in ascending or descending order by one or more columns, with examples ordering by AIDS and names.
Explore how to use the group by clause with a select statement to group data by name, perform aggregations like sum and count, and precede an order by clause.
Learn to use the distinct keyword with select to return unique values. Apply select distinct on columns from a table, with where conditions, to remove duplicates.
Learn how to delete data with truncate table and delete from, keep the table structure with truncate, and remove entire tables with drop table, then verify results with select.
Build Python programming fundamentals through practical examples.
This beginner-oriented course uses material developed around the former MTA 98-381 syllabus. Microsoft retired MTA exams on June 30, 2022. The lessons remain a resource for learning programming concepts, rather than preparation for a currently available Microsoft exam.
What you will explore
Explore variables, data types, operators, conditional logic, loops, functions, and file input and output. Connect each concept to a small program, trace the values it produces, and use the examples as a foundation for independent practice.
How to study
Work through the relevant lessons in sequence, pause to reproduce the examples, and keep a short record of the concepts you can explain without looking at your notes. When an example produces an unexpected result, reduce it to a smaller case and compare what you expected with what actually happened. This makes revision more useful than simply replaying a demonstration.
Practical application
Create a small text-file summary utility: read fictional scores, validate the input, calculate a result and explain how invalid data is handled. Start with a small example before adding more features.
Use the course as a structured learning resource at your own pace. Revisit difficult topics, write down questions, and connect each concept to a small example of your own. Before moving on, explain your solution, check a normal case and an edge case, and note one limitation. The goal is to develop understanding that you can transfer to another problem, rather than memorize a single answer.
Check the curriculum and prerequisites to decide whether the course fits your current knowledge and learning goals. Recorded software interfaces and third-party services can change; consult the provider's current documentation when setting up your environment.