
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
An Introduction to Programming
All you need to know is that in this program, we have a procedure and a function, variables and constants
Start and Configuration of maXbox
This lesson will introduce you to code files and form files in a separate way. So what’s modular programming?
Modular programming is subdividing your program into separate subprograms such as functions and procedures.
This lesson will introduce you to objects, classes and events. So what’s an object? An object consists of methods, properties and in many cases events. I’ll show you all three of them.
Today we spend some time in programming with the internet and their protocols too. Hope you did already work with the Starter 1 and 2 or 3 and 4
This lesson will introduce you to a simple game called Arcade like the famous Pong. The first popular “arcade games” were early amusement park midway games such as shooting galleries, ball toss games, and the earliest coin-operated machines.
This lesson will introduce you to various short functions interacting with the OS. When your application calls a Win API, it is making a call into an (unmanaged) DLL or DataBase.
This lesson will introduce you to SQL (Structured Query Language) and a database connection. The term “query” means to search, to question, or to find or research.
Today we spend time in programming with Statistics and in our case with probability. Statistic is a branch of applied mathematics concerned with the collection and interpretation of quantitative data and the use of probability theory to estimate population parameters.
Today we spend time in programming forms on an application. TApplication, TScreen, and TForm are the classes that form (yes I mean form) the backbone of your applications by controlling the behaviour of a project. The TApplication class forms the foundation of an application by providing properties and methods that encapsulate the behaviour of a standard script or program.
This lesson will introduce you to SQL (Structured Query Language) and a database connection with a simple Access DB. The term “query” means to search, to question, or to find or research.
When you query a database, you are searching for information in the database. A query component encapsulates a SQL statement that is used in a client app to retrieve, insert, update, and delete data from one or more database tables. Query components can be used with remote database servers (Client/Server or ClientDataSets) and many other database drivers.
This lesson will introduce you to encryption and decryption. An encryption algorithm is required in order to transmit confidential information over insecure information channels, for example, over a network or a stick.
The information is encrypted by the originator prior to transmission and decrypted by the recipient following transmission.
In this lession we spend another time in programming with asynchronous or parallel programming. We will concentrate on creating an API call of a DLL using PlaySound() from the winmm.dll library. But, first of all I'll explain you what "blocking" and "non-blocking" calls are.
Today I'll try to eliminate any confusion by presenting a clear picture of the labyrinth known as serial programming. First, I'll give you an overview of the RS 232 standard. After that I'll go over some of the data specification with the serial tester included in maXbox.
Serial communication is based on a protocol and the standard RS 232. A protocol is one or a few sets of hardware and software rules agreed to by all communication parties for exchanging data correctly and efficiently.
Today we spend another small time in programming with a new concept called events. Most modern programming languages (like PHP, Python or Ruby) are dynamically typed, event driven and employ an interpreter for program execution.
Event driven programming are usually message based languages offering the user an interactive dialog allowing commands that are interpreted and immediately executed like a button click see below.
We will concentrate for the first on creating an API call of a DLL using PlaySound() from the winmm.dll library as the result of a asynchronous timer event.
This lesson will introduce you to Indy Sockets with the TCP-Server, HTTP-Server components and the library in a separate way. So what are the Indy Sockets?
Indy.Sockets (VCL) is an open source socket library that supports clients, servers, TCP, UDP, raw sockets, as well as over 100 higher level protocols such as SMTP, POP3, FTP, HTTP, and many more.
Indy.Sockets is written in Delphi but is available for C#, C++, Delphi any .net language, and Kylix (CLX) too.
This lesson will introduce you to Arduino and the Serial communication (see Tutorial 15). We will now dive into the world of serial communications and control our lamp from a browser to a web server by sending commands from the PC to the Arduino using the Serial Monitor and Interface.
This tutorial illustrates what the WinCOM (Component Object Model) interface level does and what you can do to make sure your code works with an Excel spreadsheet.
In the first part of this tutorial we export data to a spreadsheet by using WinCOM (not the same as COM for the RS232 Serial interface, so I stress the name WinCOM).
In the second part we control a DC-motor with Arduino and deliver the data to the excel file mentioned above. Hope you did already work with the Starter 1 till 18 (especially the 18 with Arduino):
Regular expressions are the main way many tools matches’ patterns within strings. For example, finding pieces of text within a larger document, or finding a restriction site within a larger sequence. This tutorial illustrates what a RegEx is and what you can do to find, match, compare or replace text of documents or code.
Under Construction: For example: given a text, display a text made of every odd-ranked character in reverse order. Or, given an array of numbers, display all pairs of numbers whose sum is between 10 and 100.
COM clients are applications that make use of a COM object or service implemented by another application or library. The most common types are applications that control an Automation server (Automation controllers) and applications that host an ActiveX control (ActiveX containers).
Each service is an interface that presents a set of related functions. The implementation of the interface is hidden within the object.
Real-time systems have evolved over the past decades in a relatively calm manner - performance has increased, one can say dramatically, but the main paradigms were pretty stable since the mid 80s.
This has changed now. The big change that is moving into the embedded field is multicore - and that is not an adaptation of our current methods but a redesign from scratch in quite a few cases - notably of our way of thinking about real-time.
There are three main topics in here. First technologies – simply put, this part is mainly for early adopters. It’s about coding, developing toys, plugging in kettles on the web (and we and many others actually did that!).
The second part is about new ideas, prototyping and new technologies that are in the lab. It’s about research papers, and software philosophy, and about researchers worldwide. Third part is about end-users and products. That's the heaviest part of all.
There a lot of design principles that we already know and apply rigorously throughout tons of software design, but most importantly, the way to simplicity aren’t that simple!
Clean Code also proposes most of all 3 principles:
1. Code Conventions
2. Design Patterns
3. Convention over Configuration
From Socket to Interprocess Communication
Indy uses blocking socket calls. Blocking calls are much like reading and writing to a file. When you read data, or write data, the function will not return until the operation is complete. The difference from working with files is that the call may take much longer as data may not be immediately ready for reading or writing (It can only operate as fast as the network or the modem can handle the data).
XML (Extensible Markup Language) is a flexible way to create common information formats and share both the format and the data on the World Wide Web, intranets, wikis, configuration and elsewhere in a cloud.
For example, computer assemblers might agree on a standard or common way to describe the information about a computer product (processor speed, case mode, memory size, and so on) and then describe the product information format with XML.
A DLL is not XML or UML those L stands for language. A DLL is a library, short for Dynamic Link Library, a library of executable functions or data that can be used by a Windows or Linux application.
Typically, a DLL provides one or more particular functions and a program accesses the functions by creating either a static or dynamic link to the DLL.
UML is said to address the modeling of manual, as well as systems, and to be capable of describing current systems and specifying new ones. UML (Unified Modeling Language) is intended to be an analysis and design language, not a full software development methodology.
It specifies notations and diagrams, but makes no suggestions regarding how these should be used in a development process.
Go with OpenStreetMap
To find a street nowadays is easy; open a browser and search for.
One of the questions that comes up when encoding those coordinates is
how they can be useful in a script with for example in maXbox or other scripter:
Closures are a real programing concept:
A block of code plus the bindings to the environment they came from.
This is the formal thing that sets closures apart from function pointers,
procedure types and similar techniques.
The student will be able to understand that concept.
The course is about learning to program.
The complete course is structured in 32 lectures (in 5 sections) which are tutorials as lectures to guide you with examples and tasks. You need about 30 days or a month to complete all 5 sections overall!
All lectures (tutorials) do have about 335 pages.
An easy to use open source compiler for coding and testing your examples / tasks is included with help files and support you through the course.
Imagine you are a programmer like Blix above. Our goal is to make him look cute nerdy, he looks very busy working with his dual monitor setup and his pile of books. I hope you guys love The Programmer as our guide as much as we do. You've always wanted to learn how to build software (or just whip up an occasional script) but never knew where to start. Today you do that first step.