You can learn anything on Udemy. Start today with one of our 10,000+ online courses

Learn To Program with Pascal

Master programming on Windows or Mac OS X with Lazarus & Free Pascal or Delphi
22 reviews
TAUGHT BY
  • Huw Collingbourne Director of Technology, SapphireSteel Software

    Huw Collingbourne is the technology director at SapphireSteel Software (http://www.sapphiresteel.com/), developers of the “Sapphire” Ruby IDE for Visual Studio and the “Amethyst” IDE for the Adobe Flash Platform. He is author of The Book Of Ruby from No Starch Press.

    He runs Bitwise Courses (http://www.bitwisecourses.com) and teaches courses on a range of programming topics.

    Huw has been a programmer for more than 30 years. He is a well-known technology writer in the UK. For over ten years he wrote the Delphi and Object Pascal programming column for PC Plus Magazine. He has also written numerous opinion and programming columns (including tutorials on C#, Java, Smalltalk, ActionScript and Ruby) for a number of computer magazines, such as Computer Shopper, Flash & Flex Developer’s Magazine, PC Pro, and PC Plus. He is the author of the free ebook The Little Book of Ruby and is the editor of the online computing magazine Bitwise (http://www.bitwisemag.com/).

    In the 1980s he was a pop music journalist and interviewed most of the New Romantic stars, such as Duran Duran, Spandau Ballet, Adam Ant, Boy George, and Depeche Mode. He is now writing a series of New Romantic murder mysteries.

    At various times Huw has been a magazine publisher, editor, and TV broadcaster. He has an MA in English from the University of Cambridge and holds a 2nd dan black belt in aikido, a martial art which he teaches in North Devon, UK (http://hartlandaikido.blogspot.co.uk/). The aikido comes in useful when trying (usually unsuccessfully) to keep his Pyrenean Mountain Dogs under some semblance of control.

WHAT'S INSIDE
  • Lifetime access to 44 lectures
  • 6+ hours of high quality content
  • A community of 300+ students learning together!
SHARE

Learn To Program with Pascal

Master programming on Windows or Mac OS X with Lazarus & Free Pascal or Delphi
22 reviews

COURSE DESCRIPTION

Simply the fastest way to learn to program on a Mac or Windows – either with the industry-standard Delphi system or with the free Lazarus and Free Pascal you can learn cross-platform programming the easy way. Just drag-and-drop, click and code!

This course will teach you the Object Pascal language, which is used not only by Lazarus but also by the well-established Delphi programming system. The knowledge you gain will give to entry to the world of commercial application development using Lazarus or Delphi.


What you will learn:

  • The fundamentals of programming – from the ground up
  • Object orientation – its principles and practice
  • The Object Pascal language – for neat, elegant, maintainable programming
  • Cross-platform development – for Windows, Mac or even for Linux


Who should take the course

  • Beginners – if you’ve never coded before, you can learn pascal step by step
  • This Pascal programming tutorial is also feasible for those Programmers who’ve used other languages – Ruby, Python or Java but want to extend their knowledge? This is for you!
  • Cross-platform developers – with Lazarus and Free Pascal, write on one OS, compile on a different one!

    • Over 44 lectures and 7 hours of content!
    • Cross-platform development with Lazarus on Mac, Windows or even Linux
    • Downloadable source code for Lazarus on Windows and Mac or Delphi on Windows
    • A 124-page eBook, The Little Book Of Pascal, explains all the topics in depth

CURRICULUM

  • SECTION 1:
    Getting Started
  • 1
    Introduction
    06:14
    Welcome to Learn to Program with Pascal. This video provides a quick overview of the course.
  • 2
    The Little Book Of Pascal (eBook)
    124 pages
  • 3
    Source Code Archive
    Text
  • 4
    Read Me First!
    Text
  • 5
    Installing the software
    02:33
    Before you begin you will need to have an Object Pascal compiler and an IDE (Integrated Development Environment) for your operating system. Here I explain where to download the free Lazarus IDE for Windows or OS X or the commercial Delphi IDE for Windows.
  • 6
    Your first program: 'Hello world'
    05:46

    Using Lazarus, you can create a program, complete with its own user interface, in a matter of moments. Just follow along to write a ‘Hello world’ program.

    </p>
  • 7
    Load and run a sample project
    04:36

    This video shows how to load one of the sample projects supplied with this course and run it inside the Lazarus IDE. It also highlights a few of the common code elements of Object Pascal programs.

    </p>
  • 8
    A quick tour of a Pascal code file
    08:54
    If you are wondering what all that code in a Pascal file actually does, this video should help to explain the basics. Here we take a quick first-look at Pascal code. I’ll explain the important elements in much greater detail later in this course.
  • SECTION 2:
    Fundamentals of Pascal
  • 9
    Variables
    08:03

    Here we learn how to save the values of data items by assigning them to named ‘variables’.

    </p>
  • 10
    Constants
    07:21

    Sometimes you may want to ensure that a value cannot be changed. That’s what ‘constants’ are for.

  • 11
    Comments
    02:49

    You can document your code by embedding comments. Here I show Pascal’s three alternatives comment types.

    </p>
  • SECTION 3:
    Procedures and Functions
  • 12
    Procedures And Functions
    10:53

    Procedures and functions give you a way of dividing your code into named blocks for easy re-use. Here I explain the basics of procedures, functions and parameters.

    </p>
  • 13
    Passing arguments by value and by reference
    08:20

    When you precede parameters with the var keyword in a procedure or function, the arguments are passed ‘by reference’; rather than ‘by value’. Here I explain what that means and why it is important.

    </p>
  • 14
    Form Methods
    04:38

    What is the difference between procedure myProcedure and procedure TForm1.myProcedure? Welcome to the world of object orientation. Here I take a first glance at ‘form methods’.

    </p>
  • 15
    Sample program: calculating interest rates
    11:41

    This tutorial shows an example of how a single procedure can do calculations for three different types of bank account. This illustrates the advantage of using procedures and functions to avoid repetition and keep your programs simple.

    </p>
  • SECTION 4:
    Data Types, Operators and Scope
  • 16
    Data Types
    08:01

    How to you subtract grapefruits from oranges or add 10 to a sonnet? These may sound like insoluble problems. But anything is possible if you make sure you are working with compatible data types.

    </p>
  • 17
    Parameters and type-checking
    09:12

    The compiler will check that the arguments you send to a procedure match the declared parameters in both number and type. This can save your program from encountering unexpected errors when it is run.

    </p>
  • 18
    Arithmetic Operators
    01:53

    When you do arithmetic you’ll need to use operators such as +, -, *, /, div and mod. You can find out more about these in The Little Book of Pascal (the eBook supplied with this course) and in the demo program shown in this video. 

    </p>
  • 19
    Scope
    14:19

    What is the difference between local and global scope and why does it matter? And a question: what happens when you declare two or more variables with the same name? The answer: It all depends on their scope!

    </p>
  • SECTION 5:
    Loops and Arrays
  • 20
    'for' Loops
    11:22

    Here we find out how to repeat operations in Pascal. We start out with a for loop which lets us create a table of characters from their ASCII codes. If you want to follow along, be sure to run the ascii and ifelse projects froom the code archive.

    </p>
  • 21
    Case Statements
    04:56

    If you find that numerous if..else tests are making your code hard to understand, consider simplifying it with a case statement. This tutorial explains how…

    </p>
  • 22
    'while' and 'repeat' loops
    10:24

    for loops are fine when you know in advance how many times an operation needs to be repeated. Sometimes you may not know this, however, in which case the while and repeat loops can be used, as explained here.

    </p>
  • 23
    Arrays
    09:01

    Here I explain how to create lists of items in the form of sequential arrays and how to iterate through the items in an array using a loop of find a single data item at a specific array index.

    </p>
  • SECTION 6:
    User-defined Types and File IO
  • 24
    User-defined types
    08:56

    We’ve used many standard types such as string and integer in our projects so far. You can also create your own types. This video explains how to do this and why it may be useful.

    </p>
  • 25
    Records
    07:38

    You can create complex data-types which, just like commercial database applications, wrap up multiple bits of data as the fields of a record. Here I show how to create a CD record type with fields to store the name, artist, price and label of a CD.

    </p>
  • 26
    File IO
    09:19

    Using Free Pascal or Delphi IO procedures, you can read and write structured data to and from a file. Here I show how to save and load a file of CD records.

    </p>
  • 27
    Saving and loading text files
    08:53

    It is fairly easy to save and load text files using Delphi or Lazarus. Here I explain how to read and write characters and strings from a text file and display them in a memo or process the text and write it out to a new file. 

    </p>
  • SECTION 7:
    Object Orientation
  • 28
    Introduction to Object Orientation
    07:13

    Here we take a first look at the principles Object Orientated Programming (OOP). I’ll explain how objects are created from classes and how they may form ‘family trees’ of ancestors and descendants.

    </p>
  • 29
    Classes and Objects
    07:21

    Here I explain the difference between objects and records and show how to define a simple CD class, then create CD objects by calling the class’s ‘constructor’.

    </p>
  • 30
    Saving and Loading Objects
    05:06

    There are several ways to save and load objects to disk but none of them is as simple as saving and loading records. Here I show a simple trick that lets you save data from objects to a file of records.

    </p>
  • SECTION 8:
    Class Hierarchies
  • 31
    How to create a class hierarchy
    08:26
    Here we look at how to write your own ‘family tree’ of classes and how to initialize their data by writing constructors for each class.
  • 32
    Forms and controls as Objects
    02:44

    Even the forms and controls, such as Buttons and Memos are objects based on Delphi or Lazarus classes, as this lesson explains.

  • 33
    Code completion for classes
    02:45

    When defining methods for Form classes or custom classes you need to enter both their definition and their implementation. Here I explain how a simple keystroke-combination can save you the trouble.

    </p>
  • 34
    Virtual methods
    12:42
    When two related classes have methods with the same name, how can you be sure that the correct method is used? Here we look at virtual and overridden methods and discover why destructors are overridden.
  • 35
    Properties
    12:12
    Properties are not restricted to visual objects such as Buttons and Memos. You can also create properties for your own objects. Here I explain how to do this and why you might want to.
  • 36
    Getter Properties
    02:37
    In the last video I showed how to define a write accessor or ‘setter’ property. here I’ll explain how to create a read accessor or ‘getter’ property.
  • SECTION 9:
    Exception-handling and Debugging
  • 37
    Exceptions
    07:28
    Exceptions are objects that wrap up errors that may occur when a program runs. Here I explain how to use exceptions to deal with unforeseen problems.
  • 38
    Error-recovery
    03:37
    Sometimes the values of variables may be left in an uncertain state when an error occurs. Here I explain how you can use exception-handlers to ensure that critical variables are assigned meaningful values.
  • 39
    Debugging
    13:39
    When your programs don’t do what you expect them to do, it’s time to use the debugger. The Delphi or Lazarus debugger can help you find and fix errors in your code. Here I show how to debug on Windows and OS X.
  • SECTION 10:
    Going Further
  • 40
    Write an adventure game!
    06:27
    The final sample project in this course is a text-based exploring game. This lets us revise many Object Pascal features and create a class hierarchy of game objects. 
  • 41
    Serialization
    06:46
    The adventure game introduces one important new feature: serialization. Using Object Pascal Stream classes I show how you can save and load complex networks of objects to and from disk.
  • 42
    Additional Resources
    Text
  • 43
    Going further...
    04:00
    Now you’ve arrived at the end of this course, where do you go next? Here are a few ideas…
  • 44
    And finally...
    Text

RATING

  • 19
  • 3
  • 0
  • 0
  • 0
AVERAGE RATING
NUMBER OF RATINGS
22

REVIEWS

  • Andy Marshman
    Good sound introduction to Object Pascal.

    Already knowing several other languages mostly procedural, this course gave me the tools and enough knowledge to get me started in programming Object Pascal using Lazarus.

  • Martin Schneider
    Good for beginners who want to learn structured programming

    Back in the 1980s I learned Pascal in an introductory course at University. Since then I had almost forgotten how beautiful and simple the syntax of the Pascal programming language is. Huw Collingbourne does a great job in presenting the basics of Pascal. I highly recommend this course to anyone who is interested in learning Pascal and the basics of object oriented programming.

  • Kenneth Klinger
    Good for beginners and those needing a refresher

    Engaging style and thorough explanations, supplemented with a course book. Helped me recall much I had forgotten from my Turbo a Pascal days. Well done!

  • Gene Buckle
    Covers the basics quite effectively.

    I've been a Turbo Pascal programmer since 1985 and a Delphi programmer since 1996. I took this course to pick out any bits of Delphi that I may have overlooked in the past. While I didn't discover any, the course is quite well suited to the beginning programmer.

  • Kirk Thomas
    Pascal course worth taking.

    Very well put together.

  • 30 day money back guarantee!
  • Lifetime Access. No Limits!
  • Mobile Accessibility
  • Certificate of Completion