Web and Computer Programming - Online Courses

These online courses are 6 weeks long, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week. You are not required to be online at any specific time. You register and pay on our website and instructions on how to access your course will be emailed to you immediately after registration.



Introduction to C++ Programming

Introduction to C++ Programming

$190 + applicable tax

Here's your chance to learn how to program the easy way in C++. Introduction to C++ Programming is a project-oriented course taught by a master programming instructor and published author. You'll get right to programming in this course--even if you have no prior programming experience! Before you know it, you'll be putting together programs, and you'll see how easy programming really is.

Course Revised February 2016

Week 1 Wednesday - Lesson 1

Your First C++ Program
In your first lesson, you'll learn what a computer program is. What's the best way to learn programming? You have to write programs, of course! Your first step toward writing your first program is to install VisualStudio. So today, you'll learn how to install Visual Studio on your computer, and after that, we'll walk through creating your first program.

Week 1 Friday - Lesson 2

Understanding Your C++ Code and How to Fix Errors
You've created a working C++ application. Today, you'll find out what each line of C++ code means in your "Hello World!" program. We'll also discuss how this C++ code is translated to machine language that the computer understands and can execute as a running program. Finally, you'll learned how to see and fix errors in your code.

Week 2 Wednesday - Lesson 3

Data Types and Computer Memory
In today's lesson, you'll learn about the different areas of computer memory. You'll find out about data types, which correspond to the different types of information a program uses, and you'll write a program that can determine the amount of computer memory used by different data types. This lesson lays the foundation for Lesson 4, where you'll learn how to store different types of information in computer memory while your program is running.

Week 2 Friday - Lesson 4

Storing Data in Variables
Today you'll learn how to create variables of different data types to store information. You'll find out how to declare variables, which is the first step to using them. You'll then learn how to assign values to variables, using both the assignment operator and cin. You'll also access and output a variable's value.

Week 3 Wednesday - Lesson 5

Letting the Computer Do the Math
Computers can't think for themselves—not yet anyway. But computers can calculate faster and more accurately than humans can. In this lesson, you'll learn how to harness the computer's calculating power with the C++ arithmetic operators.

Week 3 Friday - Lesson 6

Letting the User Choose
Life involves choices, and so do computer programs. In this lesson, you'll learn how to use the different C++ comparison operators and control structures so different blocks of code execute depending on the user's choice.

Week 4 Wednesday - Lesson 7

Combining Choices
Choices can be complicated. For example, you may want code to execute only if two choices are made, or if either of two choices are made. In this lesson, you'll how to use nested control structures and the different C++ logical operators when more than one choice determines which block of code executes.

Week 4 Friday - Lesson 8

Repeating Code With Loops
Your parents may have told you not to repeat yourself, but code often needs to repeat. In this lesson, you'll learn how to use loops to make code repeat until a condition is met.

Week 5 Wednesday - Lesson 9

Using Arrays
Often, you may need to store more than one item of information, such as multiple test scores. In this lesson, you'll find out how to use arrays to store multiple items of information. Sure, you could also just use multiple variables, but with arrays, you also can harness the power of loops, which you learned about in the last lesson.

Week 5 Friday - Lesson 10

C Strings for Storing Text
Not all information are numbers. You'll often need to store text, such as names. In this lesson, you'll discover how to use C strings to store non-numeric information in an array.

Week 6 Wednesday - Lesson 11

Functions for Dividing and Organizing Code
What if your favorite textbook was just one very long paragraph with no chapters or sections? The content would be the same, but it would be much more difficult to read and follow, wouldn't it? Similarly, code, as it gets longer and more complicated, needs to be organized. In this lesson, you'll learn how to use functions to divide tasks and organize your code.

Week 6 Friday - Lesson 12

Saving and Retrieving Data
Microsoft Word wouldn't be very useful if you couldn't save your work and had to type it all over again each time you ran the program! Being able to save your work is important, but you also need to be able to load that saved work back into your program the next time you run it. In this lesson, you'll learn how to use file input/output to store and retrieve information.

Windows 7 or newer Windows operating system; 1.6 GHz or faster processor; at least 1 GB of RAM; 4 GB of available hard disk space.

A free edition of the software may be downloaded from Microsoft.


Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Introduction to JavaScript

Introduction to JavaScript

$190 + applicable tax

You may already know how to use HTML and CSS to create websites. If so, you're ready to add more power to your programming with JavaScript. This programming language lets you add interactivity to your pages by creating features such as buttons, picture carousels, and collapsible panels to your Web pages.

The course begins with the basics of JavaScript code and then moves on to more advanced topics. You'll learn how to define what happens when a user clicks a button or presses a key on your pages, and see how JavaScript enables your pages to make "if . . . then . . . else" decisions about what to do based on circumstances. You'll also get a chance to try out loops and timers to create animation effects. Throughout the course, you'll get plenty of hands-on practice to give you the experience you need to really understand how JavaScript works.

And since no JavaScript course would be complete without a discussion of jQuery, we cover it as well. This free "write less, do more" JavaScript library has become virtually synonymous with modern Web and mobile app development. By the end of the course, you'll understand how to use jQuery to catapult your basic JavaScript knowledge to incredible new heights.

This course assumes students already know HTML and CSS. JavaScript is always used with these two programming languages, not as an alternative to them.

Week 1 Wednesday - Lesson 1

What Is JavaScript?
In today's lesson, you'll get right into it and learn what JavaScript is, where it came from, who uses it, and why you want to learn it. Most important, you'll learn how and where to write JavaScript. And we're not talking about just history, theory, or concepts. You'll go hands-on, and by the time you finish this first lesson, you will have already created, tested, and edited some real JavaScript code.

Week 1 Friday - Lesson 2

Executing Scripts
Successful JavaScript programming requires controlling not just what a bit of JavaScript does but also when it performs its task. Today's lesson will show you how that works and introduce you to the concept of event handling, which allows you to write code that responds to various events, such as clicking an item on the screen.

Week 2 Wednesday - Lesson 3

The Document Object Model
Today's lesson is all about the Document Object Model (DOM), a set of rules and words you use to access and manipulate the elements of a Web page. You'll also learn about variables in today's lesson, which are temporary placeholders for information that can vary. While such terms and concepts are often scary to the new developers, they actually turn out to be quite easy to understand once you remove the shroud of mystery.

Week 2 Friday - Lesson 4

Dates, Numbers, and Decision-Making
Code that makes decisions is the hallmark of all modern interactive websites and applications. In today's lesson, you'll learn about JavaScript's ability to make if . . . else decisions (If this happens, do this, or else do this). You'll also learn about data types, strings, numbers, and dates, and how and why programming languages treat these types of information differently.

Week 3 Wednesday - Lesson 5

Search My Site Code
Today's lesson will give you some Search My Site code. This is particularly handy for larger multipage sites, where users may want to search for a particular word or phrase within your site without having to go through the site one page at a time. And unlike some services that charge you money for this sort of thing, the method you'll learn here is free of charge. And as an added bonus, you'll learn how to add drop-down list controls to your pages.

Week 3 Friday - Lesson 6

Fun With Music
In today's lesson, you'll learn to use JavaScript to add sound effects, background music, and custom music player controls to your Web pages. You'll also learn how to set HTML attributes and CSS styles through JavaScript and even to test the user's browsers for compatibility with modern HTML5 features.

Week 4 Wednesday - Lesson 7

Building a Picture Carousel
In today's lesson, we'll start on a picture carousel that allows users to click or cycle through thumbnail images, seeing an enlargement of one at a time. These can be a fun and useful addition to any website. Along the way, you'll learn some tips and tricks for using JavaScript with pictures and some new programming concepts like global variables and string manipulation.

Week 4 Friday - Lesson 8

Fun With Arrays and Loops
Today's lesson is all about arrays and loops. As alien, boring, or scary as those things might sound, they're not that difficult. And they're the main constructs around which some of the best interactive elements, like slideshows and carousels, are built. In today's lesson, you'll learn how to create your own JavaScript arrays and loops and start getting a handle on how you can apply them toward building more interactive Web pages.

Week 5 Wednesday - Lesson 9

Timers and Transition Effects
Bringing motion to Web pages requires controlling the speed at which things happen. Today's lesson is about the two main ways you can control speed: JavaScript timers and CSS transitions. You'll also see how you can use JavaScript to trigger and control CSS transitions, which allows you to get some cool effects with minimal coding.

Week 5 Friday - Lesson 10

Introducing jQuery
JavaScript is such a popular language, people have written many libraries to extend and simplify its use. Perhaps the most widely used and well known is jQuery. In today's lesson, you'll learn what jQuery is, where to get it, and how to get started using it in your own websites.

Week 6 Wednesday - Lesson 11

Creating Collapsible Panels and Accordions
In today's lesson, you'll build on what you learned last time about jQuery to add some powerful new techniques to your arsenal. Specifically, you'll see how you can use jQuery to create collapsible panel and accordion controls. These are custom controls that allow you to create more modern-looking websites in which users can click to expand information, making your site more efficient, effective, and easier to use on touch screens.

Week 6 Friday - Lesson 12

Using jQuery Plug-ins
jQuery is more than just a JavaScript library. It's a complete ecosystem that includes lots of prewritten code commonly referred to as jQuery plug-ins. There are thousands of free plug-ins available, and they provide for all kinds of slideshows, carousels, touchscreen interfaces, and countless other features that you can add to your own creations, for free, with minimal fuss. In today's lesson, you'll learn how to find jQuery plug-ins and incorporate them into your own site.

A test editor or authoring tools for writing HTML and CSS code, and the knowledge to use that too. Students should also have a good understanding of HTML and CSS prior to taking this course.

Successful completion of Introduction to CSS3 and HTML5, and Intermediate CSS3 and HTML5 highly recommended.


Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Introduction to Programming

Introduction to Programming

$190 + applicable tax

Take your first steps toward a career as a computer programmer! In this course, you'll learn to use Just BASIC, a free Windows programming language, to create stand-alone applications for professional or personal use.

As you explore the BASIC programming language, you'll learn how to work with graphical user interfaces, controls, variables, arrays, conditional logic, and loops. You'll also examine subroutines, functions, and debugging. After that, you'll discover how to add sound and graphics to your Just BASIC programs. To reinforce the concepts in each lesson, you'll create a working computer-game application.

Even if you've never programmed before, you'll find it easy to follow the step-by-step instructions in each lesson. By the end of the course, you'll have the skills and confidence you need to program in BASIC and design your own custom applications for home, school, or work.

Week 1 Wednesday - Lesson 1

Getting Started With Just BASIC
For many people, the prospect of learning how to become a computer programmer is more than a little scary. But in this first lesson, you’ll learn that you don't have to be a computer genius to learn how to program. I'll begin by going through a brief history of the evolution of computer programming. We'll cover some basic programming concepts and terms, and then we'll zero in specifically on Just BASIC, the programming language that we'll use throughout the course. We'll then download and install Just BASIC, and at the conclusion of the lesson, you'll create and execute your first Just BASIC program!

Week 1 Friday - Lesson 2

Creating Programs With Just Basic
In order to work with any programming language, you need access to a set of software tools. These tools include such things as a code editor, a compiler or interpreter, and a source code debugger. In this lesson, I'll introduce you to the resources that Just BASIC provides. I'll show you how you'll use these tools to develop software applications. We'll also spend some time getting comfortable with Just BASIC’s code editor. You'll learn how to configure it to suit your personal preferences and work habits. Finally, for some great practice, we'll create your first actual computer game: the Legend of Mighty Molly.

Week 2 Wednesday - Lesson 3

Creating Windows for Graphical User Interfaces
We’ll begin this lesson by exploring how to create the fundamental building blocks of Windows application GUIs. You'll learn how to create different types of windows, including regular windows, text windows, graphics windows, and dialog windows. We’ll also cover some of the finer details of creating windows, such as how to set foreground and background colors and how to set font attributes. We’ll close out the lesson by creating the Math Madness computer game, which will give you some great practice in working with GUIs.

Week 2 Friday - Lesson 4

Adding Controls to Windows
In Lesson 3, we learned how to create windows. Most desktop application user interfaces are more than just windows, however. They also consist of a collection of interface controls, such as buttons and text boxes. So controls are what we'll concentrate on in this lesson. Just BASIC allows you to create many different types of controls. We'll look at each of Just BASIC’s controls in detail, and then we'll examine each one’s programming syntax. And, as always, I'll have a cool application project for you to develop: the Lottery Picker application. By the end of this lesson, you should feel confident in your ability to create attractive, user-friendly graphical interfaces.

Week 3 Wednesday - Lesson 5

Working With Controls and FreeForm-J
In this lesson, we’re going to continue our exploration of GUI elements. We’ll first talk about how to fine-tune your controls to make them do exactly what you want them to do. Then you’ll learn how to build application menus, an integral part of many applications. Next, we’ll dig into FreeForm-J, the powerful Just BASIC application that allows you to visually design your GUIs. We’ll wrap things up with a quick look at Just BASIC’s built-in dialogs, prebuilt tools that can communicate with users and even collect small amounts of information. We’ll also work on another project application: the Family Photo Album. This application will test all that you’ve learned so far about GUI elements.

Week 3 Friday - Lesson 6

Working With Variables and Arrays
The subject for this lesson is the retrieval and storage of data in computer memory. Specifically, we’ll be digging into how to store and retrieve individual pieces of data in variables. We’ll also take a look at how to store groups of data using arrays, including the rules to follow when naming variables and arrays. Another important topic is the different types of data that can be stored, along with how to convert numbers to strings and vice versa. To test your newfound knowledge, we’ll create a computer application called the Ask Mustafa game.

Week 4 Wednesday - Lesson 7

Making Decisions With Conditional Logic
To create complex applications, a computer program needs a way of evaluating different values to determine a logical direction in which to proceed. As programmers, we do this with conditional programming statements that use mathematical, comparison, and logical operators. That’s what we’ll focus on in this lesson. With conditional logic, you can create applications that react differently depending on the data that they receive. This provides an interactive user experience and programs that are adaptive enough to handle different types of situations. To illustrate how conditional logic works, we’ll wrap up the lesson with a project application called the Karaoke Night game.

Week 4 Friday - Lesson 8

Using Loops to Process Data
In this lesson, you’ll learn how to create and work with loops. Loops are code blocks that repeat a series of programming statements over and over again. Using loops, you can develop applications that can process large amounts of data using a minimum number of programming statements. We’ll look at how to use a number of different types of loops, and I’ll also explain the types of situations that each type of loop is best for. By the end of this lesson, you should feel confident enough in your knowledge of loops to create the Guess My Number game.

Week 5 Wednesday - Lesson 9

Functions and Subroutines
The larger your applications become, the more complicated your program code becomes. One effective way of making your programs easier to create and maintain is to break them up into small parts, called procedures. In this lesson, you'll learn how to work with two types of procedures: subroutines and functions. You'll learn how to pass data to your subroutines and functions for processing. You'll also learn how to return data back from functions. This lesson’s application project is the BASIC BlackJack game, which will give you the opportunity to practice working with subroutines and functions.

Week 5 Friday - Lesson 10

Working With Text Files
Like most other programming languages, Just BASIC allows you to interact with your computer’s file system. You can retrieve information about your computer's drives, and you can open files, read from them, write to them, and close them. As such, you can create reports, documents, and log files, so that's what we'll focus on in this lesson. The application for lesson is the Tic Tac Toe game. It’s a project that will exercise many of the programming muscles that you’ve developed throughout the course so far.

Week 6 Wednesday - Lesson 11

Working With Sound and Graphics
It’s no secret that graphical user interfaces provide users with a stimulating interactive experience. Some programming languages, including Just BASIC, allow you to take things a step further by integrating sound and graphics into desktop applications, so that’s what we’ll focus on in this lesson. You’ll learn how to draw custom graphics and how to incorporate WAV and MIDI sounds into your Windows applications. We’ll also work on a new project application that should be a lot of fun: the Slot Machine game.

Week 6 Friday - Lesson 12

Debugging Your Applications
In this final lesson, you'll learn how to track down and deal with the errors that inevitably crop up when you develop a new software application. Program errors can occur for any number of reasons, so I'll show you the fundamental steps for identifying and correcting them. We'll talk about the development of error handling procedures, and we'll also investigate using Just BASIC’s debugger as a means of keeping an eye on the internal operation of your programs. Your final project application will be to develop a computer version of that old classic, the Hangman game. On the surface, it seems like a simple program, but it will put all of your new Just BASIC skills to the test.
Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, Windows 8, or Windows 10. Note: this course is not suitable for Macintosh users. No previous programming knowledge or experience is required.
Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Introduction to XML

Introduction to XML

$190 + applicable tax

XML is today's most popular way to store and send information. In this course, you'll master the essentials of XML through easy-to-follow, real-world examples. Even if you've never tried computer programming, you'll discover how quickly you can learn to produce powerful "code."  And the biggest surprise is how much fun programming can be!

From the very first lesson, you'll dive in, creating your first XML document. You'll use one of the greatest bargains in computer programming—Microsoft's free yet powerful Visual Studio (VS) Express. Then you'll go on to learn the elements of programming: variables, loops, and branching. Using VS's full-featured design editor, you'll see how to build efficient, professional-looking user interfaces.

XML stores and transmits information for applications, but is also widely used with Internet browsers like Chrome and Internet Explorer. You'll learn methods for formatting XML so it looks great on Web pages using cascading style sheets and XSL. And you'll explore all the main XML techniques—XPath, XSL, schemas, namespaces, DOM, and SAX. You'll practice using XML to search, manipulate, validate, and merge XML files. We'll also work with SVG, XML's drawing language for displaying graphics like charts, drawings, and diagrams.

Finally, you'll deepen your understanding of XML and programming by transforming the cookbook program into two equally useful programs. First is an all-purpose quiz that will help anyone practice for any kind of test—geography, driver's test, whatever. And the second program is a coin-collection scrapbook with over a dozen fields of information (and optional photographs) for each coin. This program, too, can be easily modified to manage any kind of collection—stamps, rocks, baseball cards, anything.

When you've finished this course, you'll also understand how XML simplifies computer programming, and you'll have built a surprisingly sophisticated cookbook program that displays, modifies, searches, imports, and deletes recipes stored in XML format. It's your first step toward writing custom programs or furthering your career!

Week 1 Wednesday - Lesson 1

Creating Your First XML Document
In this first lesson, you'll install and personalize one of the greatest bargains in computer programming—Microsoft's free, yet powerful, Visual Studio (VS) Express. After decades of fine-tuning, the VS programming suite is widely considered one of the most efficient ways to communicate with computers. You'll use the VS XML editor to create your first XML document. (The editor shows you any mistakes and even writes half the code for you!) And by the end of the lesson, you'll discover that programming can be both easy and fun. You'll be on your way to using XML in your personal projects or in your career.

Week 1 Friday - Lesson 2

Mastering the Basics of XML Documents
Let's explore the rest of the fundamentals of XML. We'll compare XML and HTML and examine the main similarities and differences between the two languages. And we'll look at adding comments and attributes in XML. When we've finished with those fundamentals, we'll begin to create our cookbook project, using the Visual Studio (VS) we discussed in our first lesson together.

Week 2 Wednesday - Lesson 3

Understanding Computer Programming
Today's lesson is all about programming. We'll explore the most common programming techniques, including creating variables, setting up loops, and telling the program how to make decisions by branching to alternative sections of code. You'll also learn how to use the editor's Design window to align and resize controls. The goal is to make your program's user interface look clean and professional. And finally, you'll write your first serious XML programming—going through your cookbook document one recipe at a time (looping) and copying each recipe's title into a listbox so your users can select whatever recipes they want to see. During this lesson, you'll discover just how much fun programming can be!

Week 2 Friday - Lesson 4

Formatting XML With Cascading Style Sheets
It's time to take control of your XML formatting. In this lesson, we'll focus on ways to make XML look good when people view it in browsers. You'll specify exactly how you want your XML data displayed. You'll create style rules about color, position, size, and typeface (font) to make your content look great on a Web page. And finally, you'll add code to the cookbook program that displays a recipe's instructions when the user clicks its title.

Week 3 Wednesday - Lesson 5

Formatting With XSL
This lesson introduces an important XML feature: XSL, or Extensible Style Sheet Language. Today you'll learn to present raw data attractively and efficiently in browsers using XSL style sheets. You'll explore transforming your XML data by sorting its elements alphabetically and then displaying them in a table as a numbered list. And you'll also learn how to add a search feature to your cookbook project.

Week 3 Friday - Lesson 6

Searching With XPath
Today we'll discuss the fundamentals of XPath, XML's query language. You'll see how to search through the data in an XML document to locate a particular element, copy the element into a listbox, and then delete it from the XML document. You'll also practice using two invaluable learning and debugging tools: breakpoints and single-stepping.

Week 4 Wednesday - Lesson 7

Transforming XML With XSLT
If you've been wanting to know more about XSLT, today's your chance to learn how to use it. You'll find out how to use XSLT to transform XML structures and how to change an XML file into CSV—comma separated values, a format used to store tables like spreadsheets. You'll practice other transformations such as adding, deleting, and renaming elements in an XML document. And you'll also see how to use the Visual Studio editor's XSLT features. Finally, you'll add a needed feature to the cookbook project: refreshing the list of titles.

Week 4 Friday - Lesson 8

Validating With Schemas
This lesson shows you how to make sure that an XML document is valid. In other words, you'll compare an XML file to a schema file that describes the XML's correct structure and the types of data it must contain. Validation goes beyond the simple concept of a "well-formed" document, which only examines simple errors like missing end tags. But because creating validation files by hand can be complicated and tedious, you'll use the automatic schema generator built into VS. Then, you'll write a custom VB validator program of your own. And finally, you'll make the cookbook project even easier to use by writing code that adds new recipes with one click of an Import button.

Week 5 Wednesday - Lesson 9

Exploring XML Graphics
In this lesson, you'll learn to store and display XML graphics. First, we'll work with SVG, an XML format that specializes in creating lines, shapes, color, special text effects, and geometric drawings. SVG is especially useful when you want to display charts, drawings, or diagrams. Then, we'll explore how to display bitmaps, which are photographic images stored on the hard drive already completely rendered. Last but not least, you'll learn some techniques that radically improve the cookbook program's UI.

Week 5 Friday - Lesson 10

Managing Namespaces
Today we'll focus on namespaces—the XML technique that avoids ambiguity when two element tag names are identical but refer to different things. This happens when you try to merge two or more XML documents: A grocery store means one thing by the tag apple, but a computer store means something else. You'll learn how to attach a unique Web page address (a URL) to a set of tags to avoid this name collision problem. You'll also see how programmers use namespaces in other areas of computing, such as separating commands into individual code libraries. Then you'll add a feature to the cookbook program that allows the user to modify a recipe and automatically save the changes to the XML file!

Week 6 Wednesday - Lesson 11

Creating a Homework Quiz Project
We're going to look at two related programs today—one that translates user input into XML, and another that displays the XML data in the form of a quiz. You'll learn how to use both programs in this lesson, creating practice quizzes for students or anyone facing a test.

Week 6 Friday - Lesson 12

Creating a Coin Collection Program
In our final lesson, we'll explore the two main ways to manage XML data—DOM and SAX. DOM loads the whole XML document into the computer's memory all at once, permitting random-access to the data. SAX, the alternative approach, streams data, leaving only a little in memory at a time. SAX is most useful when you're dealing with immense XML files, but SAX's sequential access (it moves forward-only) makes modifying the XML structure more difficult. You'll also transform the cookbook program into a coin collection program—a searchable notebook that can even display photos of each coin. You'll see how to reuse basic code to create any kind of XML data management program—a stamp collection, family scrapbook, you name it!

Programming experience is not required, just an interest in finding out how easy and fun programming can be!

Microsoft's free Visual Studio Express with Update 3 for Windows Desktop 2013 or 2012 versions, and Windows XP, Vista, 7, or 8. You'll install this Visual Studio Express software during Lesson 1. (Students using Visual Studio 2010 for pre-Windows 7 computers will be supported in the Discussion Areas.)

Note: This course is not suitable for Macintosh users unless you have a Windows emulator such as Parallels installed to run the Windows OS on your Mac OS X machine.
Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Introduction to C# Programming

Introduction to C# Programming

$190 + applicable tax

Learn the fundamentals of computer programming with C#, the in-demand and incredibly useful programming language that incorporates the best features of Visual Basic, C++, and Java.

You'll first develop your understanding of programming fundamentals: input/output operations, decision making, and looping. Then, we'll explore the many benefits of object oriented programming, with plenty of vivid, real-life examples.

Then, you'll gain hands-on experience with sequential data files, and you'll be able to build a professional-looking and intuitive Graphical User Interface (GUI) application on your very own computer.

Because there is no better way to learn programming than hands-on practice, almost every lesson includes practical examples and assignments you can use to develop your knowledge of programming.

Learn to program the right way: by using a state-of-the-art language to build impressive applications on your schedule and on your very own computer.

Week 1 Wednesday - Lesson 1

Computer Basics and the History of Programming
C# is a fantastic programming language that combines the best parts of C++, Java, and Visual Basic all into one language. In our first lesson, you'll get an idea of where we've come from by taking a look at a brief history of programming languages. We'll then explore the .NET framework and get a better feeling for what makes C# so special.

Week 1 Friday - Lesson 2

The C# Compiler and Your First C# Program
Armed with some background, you'll now proceed to installing the C# compiler, and then we'll write, compile, and run our first C# program. Although we'll start with a small program, you'll see that even small C# programs can be a bit tricky. Today's lesson gives you a great opportunity to practice working with the compiler, something that you'll be using for the remainder of the course.

Week 2 Wednesday - Lesson 3

Data Types and Mathematical Operators
Now that you're comfortable with compiling and running simple programs, we can take a look at math. Don't worry, we won't be running calculations for launching the Space Shuttle. But you will be learning about the basic math operators that C# provides. And because we'll need some place to save the results of our calculations, we'll also talk about variables and their data types.

Week 2 Friday - Lesson 4

Value Returning Methods
Today's lesson is our first step into modular programming with methods. Methods are a helpful tool because they allow us to break up big programs into smaller, more manageable parts. We'll start by looking at a few built-in methods that are available to us to use in our programs. But then you'll learn how to write your own methods and call them in your program. Hopefully you'll agree that this way of programming makes it easier to tackle large problems.

Week 3 Wednesday - Lesson 5

Void Methods and Overloading
In today's lesson, we'll continue building on the concept of methods by discussing methods that don't return any value. While these methods may not seem as important, they still help in making your program more modular. We'll also talk about method overloading, which can help improve the readability of your programs by reusing method names within the same code file.

Week 3 Friday - Lesson 6

The <em>if</em> Selection Structure
By this point in the course, you'll be comfortable doing the basics of C#: working with variables, math, and methods. So now we'll turn our attention to the first programming structure: decisions. In this lesson, you'll learn about the if statement and how you can use it to let the computer choose which set of statements to execute based on some condition.

Week 4 Wednesday - Lesson 7

More About the Selection Structure
We'll continue our investigation of the decision structure in today's lesson by taking a look at more complex if statements. You'll also learn how to use the switch statement to make decisions in your programs as well. This ability to have multiple programming structures is sort of like having another tool in your tool belt. Sometimes a job is far easier to do if you just use the right tool. You may not always need to use every tool, but it's good to know what tools are there and how to use them. You'll find the same is true in programming.

Week 4 Friday - Lesson 8

The Repetition Structure
Keeping with the theme of programming structures, we'll now take a look at the repetition structure. Just as there were different ways to implement the decision structure, there are a couple of ways to work with loops. Specifically in this lesson, we'll talk about the while loop, the for loop, and the do loop. Each structure works the same in that they allow you to repeat statements, but each one is a little different. Here you'll learn their differences and add to the tools in your tool belt.

Week 5 Wednesday - Lesson 9

Arrays
One of the most useful applications of loops is arrays, so it makes sense for us to build on your knowledge of loops and explore array variables in this lesson. You'll learn how to create and access array variables. We'll also see how to work with arrays and methods.

Week 5 Friday - Lesson 10

Classes
Object-oriented programming is a big topic, and C# is an object-oriented language. We'll spend some time in this lesson going over exactly what an object is and how it relates to a class. Then you'll write a class that will store the data necessary to keep track of the time. Since you're writing this class, you'll have the ability to take this code and add it to any program that needs to store information about the time, such as appointment books and scheduling programs.

Week 6 Wednesday - Lesson 11

Exceptions and Files
Obviously, computer programs are big time savers and really help us to automate things. But in order for a program to be really useful, it needs to be able to save data for use later. That's why we'll go over data files in this lesson. Today, you'll learn how to read from and write to external data files so you can store your user data forever.

Week 6 Friday - Lesson 12

Graphical User Interfaces
For our final lesson, we'll look at programs with a Graphical User Interface (GUI). While C# has an Integrated Development Environment (IDE) that gives you the ability to easily create GUI applications, the code that's generated is buried deep in the file structure. So to show you that there's no magic going on, today I'll show you how to build your own GUI without an IDE. By doing this, you'll be far better prepared for working with IDEs in the future because you'll know exactly what's going on behind the scenes.
Microsoft Windows XP, Vista, 7 or 8.
Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Intermediate C# Programming

Intermediate C# Programming

$190 + applicable tax

Build upon your current knowledge of programming logic by writing Graphical User Interface (GUI) applications in the C# programming language. This course will show you how to write professional looking applications with many of the common GUI controls, such as buttons, labels, text boxes, check boxes, and radio buttons. You'll also learn how to put menus and toolbars into your program to make them easier to use. And later in the course, you'll find out how to make your program interact with sequential files, random access files, and databases.

This six-week course will walk you through computer application design and implementation by giving you real examples that you can enter as you learn. Since practicing is the best way to learn programming, most lessons have more than one example, and each provides a programming problem you can solve to demonstrate your new knowledge.

Course Revised January 2013

Week 1 Wednesday - Lesson 1

Overview of C#
C# is a wonderful programming language that's been recently updated, and the improvements have made programming using C# even easier than before. In this lesson, I'll give you a brief overview of the C# language, then a tour of the fantastic, user-friendly Integrated Development Environment (IDE). You'll learn how easy it is to rapidly develop a simple graphical program with the IDE, and by the end of the lesson, you'll create your first interactive C# program.

Week 1 Friday - Lesson 2

Visual C# IDE and Common Properties
Programs aren't much fun without interactions, so today we'll start learning to communicate with our users. We'll discuss buttons, text boxes, and labels, and how you can use them for interaction. You'll also learn more about the IDE's Properties window, which allows you to customize your application so that you can grab a user's attention and make your program a work of art!

Week 2 Wednesday - Lesson 3

Text Boxes and User-Friendly Techniques
Now that you've used the basic controls to make attractive programs, we'll turn our attention to working calculations. I'll show you how to design your program to do simple math calculations and how easy it is to format numbers to make everything easy on your users. We'll also take some time to go over some other features that will make the user enjoy his or her experience with your programs.

Week 2 Friday - Lesson 4

Check Boxes and Radio Buttons
Are you one of those people who loves to use keyboard shortcuts? Maybe you take pride in your ability to use a graphical program without ever touching your mouse? Well maybe not, but there are definitely people out there who can't or prefer not to use a mouse. So today, you'll find out how to set up your applications to accommodate them. You'll also learn all about radio buttons and check boxes and the best ways to use them to make your users' experience as great as possible.

Week 3 Wednesday - Lesson 5

Arrays and List Boxes
Lists, lists, lists. We all have them and we all need a way to keep track of them. So in today's lesson, you'll learn how to put a list box in your program. You'll also find out about arrays and loops, which allow you to work with your lists to store, search, and remove items from a list.

Week 3 Friday - Lesson 6

Menu Strips, Tool Strips, and Tab Controls
Now you're ready for some more complex, and more interesting, graphical elements. Have you ever noticed that almost every program you use has similar items in the menu? Well, the developers of C# have made this process pretty simple, and you'll learn all about it in this lesson. You'll also see how easy it is to make a toolbar and separate your program into multiple pages or tabs. These elements will help you to maximize the space on the screen.

Week 4 Wednesday - Lesson 7

Object-Oriented Programming: Classes and Inheritance
You may have heard that C# is an object-oriented programming (OOP) language, but do you know what that means? It turns out that it's just a different way of viewing a program and it's much different from procedural programming. In this lesson, you'll not only learn about the OOP model, but you'll also get your hands wet by creating such a program. You'll even get to experience the beauty of inheritance and polymorphism and see how they can allow you to structure your code so that it can be reused in future programs.

Week 4 Friday - Lesson 8

Exceptions, Files, and Common Dialog Boxes
Have you ever used a program and gotten one of those awful pop-ups that says a problem occurred and the program had to shut down? Usually this comes at a point in the program when you'll lose an hour or two worth of work. In this lesson, I'll show you how to make it so that those messages don't come up and ruin your user's experience. I'll also show you how to work with data files so that your programs can save the data to be used at a later time.

Week 5 Wednesday - Lesson 9

The RichTextBox and More Common Dialogs
In this lesson, you'll learn all about the Rich Text Box. This graphical element accepts formatted input from your user. As you learn more about this control in the lesson, you'll build your very own text editor that will allow the user to use bold, italics, color, and even a bulleted list.

Week 5 Friday - Lesson 10

Database Interaction with ADO.NET
Databases are very important to the world we live in today. It seems that everyone has large amounts of information they want to store and access later. This lesson is the first of two database lessons in the course. You'll start with a small database and learn about the different elements that go into a database application. Continuing on, you'll see how easy it is to write a simple query to get information out of the database.

Week 6 Wednesday - Lesson 11

More Database Interaction
This lesson builds upon your current database knowledge and adds more complex database interactions to it. To practice, you'll create an application that works with a database to organize your favorite Web sites. I'll even show you how to display a Web page inside your application. In the end, you'll have a program that's part organizer and part Web browser!

Week 6 Friday - Lesson 12

Custom Controls and Deploying Your Application
For our final lesson, we'll turn our attention back to making our users' lives easier. Here, you'll learn about adding tool tips and context, or shortcut menus to your programs. You'll also learn how to make custom controls and splash screens to put your personal touch on your programs and make them unique. And what good is a program if you can't share it? For that reason, we'll finish up the course with a quick look at how to deploy your program so that everyone can enjoy it.

Completion of Mike Orsega's "Introduction to C# Programming" course (or equivalent experience), Microsoft Visual Studio 2015 (Community or any other 2015 edition), Microsoft Windows 7, 8, or 10.

Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Introduction to Java Programming

Introduction to Java Programming

$190 + applicable tax

If you want to learn computer programming but don't have any prior experience, you'll enjoy a tour of Java, one of the most widely used computer languages in the world. It's a breeze to learn in a friendly and supportive environment. Start with the basics of programming and go on to write your own programs and integrate input and output, calculations, decision making, and loops. Build your knowledge and confidence with easy-to-understand examples and plenty of skill-building exercises. So whether you just want to try it out to see if you like it or plan on doing more with Java, this is a great place to start!

We'll use the latest release of Java, from Oracle, the company that maintains and supports the language. We'll also use BlueJ, a graphical development environment designed especially for students. Both are free open-source products, and I'll give you the proper instructions to download them. By the time we're done, you'll be comfortable with Java programming and ready for more!


Course Revised November 2013

Week 1 Wednesday - Lesson 1

Introducing Java
Java is one of the most widely used programming languages in the world, on machines from microprocessors in DVRs and microwaves to supercomputers. This lesson will introduce you to computer programming in general and to Java in particular. I'll get you set up with the downloads and installations you'll need for the rest of the course, and I'll walk you through the process of editing, compiling, and running computer programs written in Java.

Week 1 Friday - Lesson 2

Writing Your First Java Program
Now that you have the software downloaded and installed, you're ready to start programming! Today you'll write your first Java program. Along the way, you'll learn to create projects and classes in BlueJ. You'll use the editor to enter your program, and you'll find out more about how to compile it and run it. We'll also look at some of the basics of Java syntax (or form), some of its naming conventions, and its basic data types.

Week 2 Wednesday - Lesson 3

Working With Java's Primitive Data Types
This lesson is about Java's primitive data types—the building blocks you need to use before you can build more complex types. I'll show you how to use them in some simple programs, and we'll look at how they relate to each other. Beyond that, we'll look at how to use a few of the classes in the Java libraries.

Week 2 Friday - Lesson 4

Working With Objects
This lesson introduces classes and objects. We'll revisit the HelloWorld application and rewrite it in Java's OOP (object-oriented programming) structure. While we're doing that, we'll look at how to declare classes, objects, attributes, and methods to Java.

Week 3 Wednesday - Lesson 5

Creating a Program That Makes Calculations
Today we'll go over how to declare our data variables to Java and how to use variables in arithmetic expressions to calculate new results. We'll also talk about data input, which means getting information into our programs from an outside source. Then we'll write a program that incorporates all these features.

Week 3 Friday - Lesson 6

Computer Logic: Writing Programs That Make Decisions
Making decisions is one of the most important and powerful things a computer language can do. Without decision-making, computers would be big, bulky calculators. We're going to look at the decision-making process in detail and see how Java does it. When you're done with this lesson, you'll know how to write Java programs that make decisions based on the principles of computer logic.

Week 4 Wednesday - Lesson 7

Writing Programs With Loops
In this lesson, you'll learn to repeat actions using a control structure called a loop. Loops in Java involve decisions, just as branches do. But in a loop structure, if the condition is met, the branch is backward instead of forward, allowing us to repeat actions. We'll also finish our temperature program.

Week 4 Friday - Lesson 8

Fixing Errors in Java
Today we'll discuss how Java generates exceptions and how we can prevent them from crashing our programs. We'll also look class methods and how to call them without creating any objects. Last, you'll find out about a debugger, which lets us look at what's going on inside our program as it runs.

Week 5 Wednesday - Lesson 9

Three Tools: Debugger, Enumeration, and Switch
This lesson is a grab bag of tools and topics. BlueJ's debugger lets you watch your program's internal actions as it runs. Enumeration lets you set up new data types with built-in limits on their values. Finally, Java's switch structure lets you replace a series of nested if statements with a single value-based structure. You'll find all these items useful in future programming!

Week 5 Friday - Lesson 10

Formatting Output and the Java Application Program Interface
How can you make numbers and other output look the way you want them to in Java? In today's lesson, I'll show you. We'll also look at Java's application program interface(API). That's the documentation of all the classes that Java includes when you install the JDK, plus explanations of how to use them. The interface has several thousand classes, and it's important to know how to find things within it.

Week 6 Wednesday - Lesson 11

Creating Windows and Adding Graphics in Java
So far in this course, everything has been text-based. Today I'll introduce you to the world of Java windows, and we'll begin to look at GUI (graphical user interface) programming in Java. We'll look at the basic components of a Java window and then add some simple graphics to it.

Week 6 Friday - Lesson 12

Java 2-D Animation
In our final lesson together, we'll continue our short exploration of Java 2-D graphics with a look at some simple animation. We'll use the same technique cartoonists have used for a hundred years now: redrawing an image in a slightly different location and repeating that process many times a second so the image appears to move. You'll learn to create a self-contained object that "knows" its own size, color, shape, location, and how to draw itself into our window. This is a fun lesson.
Microsoft Windows 98 or better, or Macintosh OS X or better, or Linux. You will also need a working copy of the most recent versions of the Java Development Kit (JDK) and BlueJ (free downloads). Download and installation instructions are available in Lesson 4.
Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Intermediate Java Programming

Intermediate Java Programming

$190 + applicable tax

Deepen your understanding of the Java programming language, and start writing programs that are more sophisticated and professional. Learn how to save data permanently on a disk by writing it to a sequential data file. See how to read the file to get the data back and process it. Organize information using multiple classes in Java's class hierarchy and inheritance. Explore some of the hundreds of classes that are built into the Java language. Find out how to create GUI applications in Java using tools like windows, menus, buttons, text boxes, check boxes, scroll bars, and other GUI tools.

Over the six weeks of this course, you'll build several complete applications that combine these concepts. You'll also use the knowledge you gain to solve programming problems included with the lessons--problems designed to help you master all the principles you learn.

Week 1 Wednesday - Lesson 1

Introduction and Java Review
Now that you've done some Java programming, you may be wondering, "What's next?" In this first lesson, you'll get a taste of what you'll learn before the course is over. To make sure everyone is on the same page, we'll do a short review of the Java skills you should already have—this will get your wheels turning if you haven't worked with Java in a while! You'll also find out about a few different development environments you can use to create and run your own Java programs.

Week 1 Friday - Lesson 2

Arrays, Loops, and Using Multiple Classes
The array is one of the most commonly used data structures in any programming language. In this lesson, we'll go over how arrays work, including their internal structure. You'll find out how to create arrays, how to store and access data in them, and how to process them efficiently using loops. Along the way, you'll also learn the difference between a class that's a complete program and one that isn't. You'll see how to write classes that use other classes in their processing, which is helpful when you're working with a lot of information.

Week 2 Wednesday - Lesson 3

File Input and Output
Computers can do an incredible amount of work, but it's often all for nothing if you can't save the results after the program finishes. That's where data files come into play. Today's lesson shows you how to read and write computer data files using Java. This process takes place many times every day in all kinds of programs, so it's a very useful and important one to understand.

Week 2 Friday - Lesson 4

Inheritance and Class Hierarchies
Have you ever wondered exactly what the big deal is about object-oriented programming (OOP)? Why does is matter whether a language is object-oriented or not? In this lesson, we'll look at exactly what object orientation means to Java through the topic of inheritance. One of the primary features of an OOP language is how its classes inherit features from other classes in the class hierarchy. You'll find out how Java's class hierarchy is organized, and you'll learn how to use the different types of classes (interfaces, abstract classes, and concrete classes) to your advantage.

Week 3 Wednesday - Lesson 5

Stand-Alone GUI Applications
We'll explore Java's GUI tools in today's lesson. Just about every program we use on computers today has a graphical user interface, or GUI. That just means the program appears in a window with menus, icons, buttons, and so on. Java has hundreds of GUI tools we can use to build our own applications to run in any windowed operating system that supports Java (Windows, Linux, and Mac OS X, among others). You'll learn how to set up a stand-alone application using Java's GUI tools, including labels, buttons, dialogs, and more.

Week 3 Friday - Lesson 6

Layouts and Multiple GUI Components
Today you'll continue learning about Java's GUI capabilities. You'll explore several ways that Java can organize multiple GUI components in a window, and you'll find out how to split windows into smaller areas called panels, which you can organize in different ways. You'll see how to set up Java's scroll bars in a window or part of a window so that users can scroll up, down, left, and right through the display.

Week 4 Wednesday - Lesson 7

GUI Menus
What do almost all modern-day programs have in common? They have menus. Menus are probably the best-known and most widely used GUI programming feature. In this lesson, you'll learn how to create menus using Java's menu bar, menu, and menu item components. You'll be able to create as many menus in an application as you need, each with all the menu items and submenus necessary to perform the task you're programming.

Week 4 Friday - Lesson 8

A Working GUI Application: Part 1
By this time, you'll have spent three lessons learning about different Java GUI programming techniques and tools. Today, you'll learn how to put the pieces together into a complete, reasonably complex Java application. You'll see how to combine menu options, graphics, check boxes, radio buttons, and text entry fields into a windowed program that can actually perform a useful task: It allows someone to order a pizza! (How much more useful can it get?)

Week 5 Wednesday - Lesson 9

A Working GUI Application: Part 2
Today, we'll take what we started in Lesson 8, where you learned how to design and build a GUI interface to order a pizza, and we'll make it functional. You already have all the GUI components displayed nicely in the window, so now you'll learn how to make your program gather all the data from the different components in the window, and then put that information together into a useful pizza order. (I'm afraid it won't actually deliver the pizza, though.) You'll get an idea of what you can create with Java's GUI capabilities.

Week 5 Friday - Lesson 10

Java Collections: Part 1
Most programmers don't write computer programs to deal with individual data items. Usually, they write programs to deal with groups of items. In this lesson, you'll learn all about Java's collection classes, a group of data structures designed to work with many items at once. You'll discover the difference between lists, queues, sets, maps, and other types of collections. We'll explore how to work with a list to load a group of items from a file into a list, and how to display items from the list in a GUI window. Along the way, you'll learn another useful technique in GUI programming: how to use Java's file chooser dialog to select a file to open and process.

Week 6 Wednesday - Lesson 11

Java Collections: Part 2
To explore more of Java's collections, today we'll continue working on the program we began in Lesson 10. You'll find out how to navigate through a list (forward and backward), displaying each list item as you go. You'll also see how to set up a window with multiple display formats, and switch between them by clicking tabs that describe the different views. You'll also learn how to create items that Java can compare, even if Java doesn't know the details of what is in the items. You'll use that capability to build a list and sort its items in a specified sequence. That's a very useful and important capability when you're dealing with large numbers of items.

Week 6 Friday - Lesson 12

Java Collections: Part 3
In our last lesson, we'll delve even deeper into the topic of collections. (You can see that it's a large and important subject!) You'll find out how to use maps, which are Java collections that let you store and retrieve data items quickly based on a unique data element of each item (its key). Think of looking up a telephone number in a large telephone book like New York City's. Finding a single number would be impossible if the data weren't properly organized. We'll see how to use the same type of search to quickly find any data item we need in a collection. And while we're doing that, you'll also learn a bit more about Java's other features, including Java's wrapper class, which is one more important data feature of the Java language that you'll use quite often. By the end of this lesson, you'll be amazed at what you're able to do with Java!
Completion of Introduction to Java Programming (or equivalent experience); Java SE (Standard Edition) Development Kit (JDK) Version 5 or later, from Sun Microsystems (software must be installed and fully operational before the course begins); Windows XP, Windows Vista, Mac OS X, or Linux.
Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Introduction to PHP and MySQL

Introduction to PHP and MySQL

$190 + applicable tax

Learn how to create an interactive Web site, allowing visitors to post and retrieve information provided by you or your site's visitors. In this six-week online course, you'll see how to create dynamic Web pages using the PHP programming language and the MySQL database server.

During the course, you'll walk through the development of a complete content management system Web application. You'll receive clear, step-by-step, instructions demonstrating how to create a complete Web site capable of dynamically displaying data from a MySQL database.

You'll discover how you can allow your site's visitors to add new information to an online database, search through posted data, and create meaningful printed reports. By the end of this course, you'll have plenty of useful code templates that will help you create your very own dynamic, Web-based, content management system.

Week 1 Wednesday - Lesson 1

What Is PHP?
These days, people expect the information on professional Web sites to change continually and to remain up to date—even up to the minute. In this lesson, you'll start learning how to produce dynamic Web pages that can do just that. We'll begin exploring the Web application we'll be building throughout the course—one that will result in a complete content management system that you can adapt for any future Web sites you create. You'll see how the PHP programming language presents dynamic data, and how the MySQL database server stores it. We'll also dive into the world of WAMP servers, the engine behind dynamic Web sites. Finally, you'll take a big (but easy) step forward by downloading and installing a WAMP server on your own computer.

Week 1 Friday - Lesson 2

Basic PHP Programming
Discover how to incorporate PHP programming into your Web pages to dynamically produce content on your Web pages. You'll see how to store data in variables, and use mathematical operators on data to write programs that can manipulate and display content on your Web pages.

Week 2 Wednesday - Lesson 3

More PHP Programming Features
A key aspect of dynamic Web applications is the ability to process data and make decisions based on the data. We'll examine some PHP statements that allow you to alter the content in your Web pages based on data values in your PHP programs. You'll also learn some techniques for simplifying the programming process by using loops to handle multiple data elements, as well as how to include common code files in all your Web pages.

Week 2 Friday - Lesson 4

Creating a MySQL Database
In this lesson we'll use the popular phpMyAdmin Web-based tool to create database objects. We'll first examine how data is organized in a database, then we'll create the actual database and tables necessary for the course project data.

Week 3 Wednesday - Lesson 5

Creating a Dynamic Home Page
The core of the Recipe Center application is the Web page template. In this lesson we'll walk through the HTML and CSS code required to display the dynamic content that our PHP code will generate.

Week 3 Friday - Lesson 6

Displaying Database Content Dynamically
In this lesson we dig into the nuts and bolts of dynamic Web programming. We’ll use PHP code to retrieve data from MySQL tables and display it on the Recipe Center Web page. Now you can control what appears on the Web page simply by changing data in the database!

Week 4 Wednesday - Lesson 7

Allowing Visitors to Enter Data
Allowing visitors to post information dynamically is a great feature to add to your Web site. In this lesson you’ll see how to create HTML forms for entering data, then work on how to retrieve the data and insert it into the MySQL table using PHP code. This will make your Web site even more attractive to visitors!

Week 4 Friday - Lesson 8

Implementing a Simple Search Engine
This lesson walks through the basics of implementing a simple search engine in your dynamic Web application. Providing the ability for visitors to quickly search and retrieve data stored in the database is a great feature to add to your site, and you'll see how to do that with just a few extra lines of PHP code and some SQL magic!

Week 5 Wednesday - Lesson 9

Producing Attractive Printer-friendly Pages
Despite the efforts of Web programming, the world hasn't quite gone paperless yet. Because of that, you'll need to provide a printer-friendly version of your Web application so visitors can print information. In this lesson you'll see two different ways to provide a printer-friendly way of displaying the dynamic content from the Recipe Center.

Week 5 Friday - Lesson 10

Controlling User Access
Restricting access to data on a Web site is a vital feature for many Web administrators. This lesson shows how to use PHP to control access either to an entire Web site, or to just specific features on the Web site. This lets you control who can update data on your site, helping to block comment spam often posted in blog sites.

Week 6 Wednesday - Lesson 11

Backing up and Restoring MySQL Data Files
Being able to restore data in a database is a crucial function in any dynamic Web site. This lesson demonstrates different methods of backing up and restoring data in the MySQL environment. You'll learn not only how recover data into an existing database, but also how to migrate data from one MySQL server to another.

Week 6 Friday - Lesson 12

Implementing Paging
All Web sites that provide access to lots of data implement some way to page through the data. In this lesson, we implement a paging algorithm that allows our site visitors to page through all of the data records in small chunks. This is one of those features you can add to help make your Web site look more professional.
A PHP and MySQL development environment. During the first lesson in the course, you will be walked through the process of installing WAMP5 software, which provides a full PHP and MySQL development environment. You can download WAMP5 for free from http://www.wampserver.com/en/. You will also need Windows NT, Windows 2000, Windows XP, Windows Vista, Windows 7, or Windows 8 (WAMP5 does not support either Windows 98 or Windows Me.) Note: Macintosh users will not be able to use the WAMP5 software, and must provide their own PHP and MySQL development environment. Prior HTML coding experience is helpful, but not required.
Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Intermediate PHP and MySQL

Intermediate PHP and MySQL

$190 + applicable tax

Learn how to create an interactive online store complete with an online catalog of products, allowing customers to browse the catalog to select items, place them in a shopping cart, and complete an order. In this six-week online course, you'll see how to create a commercial online store using the PHP programming language and the MySQL database server.

We'll walk through the steps for developing a complete online store Web application. During the course, you'll see step-by-step how to create all of the software and database objects used in the application. The application consists of two parts, an administrative Web application allowing a store manager to post new products, alter product information, and process customer orders, and a customer Web application allowing customers to browse the catalog of products, select products for purchase, and check out using a shopping cart. At the end of the course, you'll be able to use these code templates to create your own online store application.

Week 1 Wednesday - Lesson 1

Review the Basics of PHP and MySQL
In today's fast-paced world, it's almost crucial for every type of business to have an Internet presence. In this lesson, you'll peek at behind-the-scenes components of a commercial-quality Web store application. You'll see how to use the PHP programming language to create the Web store storefront page, complete with product catalog and customer ordering system. You'll discover how Web stores use the popular MySQL database server to maintain the store inventory and track customer orders.

Week 1 Friday - Lesson 2

Advanced PHP Programming
Because of the complexity of creating a Web store, we'll need to discuss some advanced topics in PHP programming. In this lesson, you'll create functions in your PHP programming code that you can use every time you need to perform a specific feature in your applications. We'll examine the PHP code required to manage and manipulate images within your Web site.

Week 2 Wednesday - Lesson 3

Advanced SQL Techniques
Complex Web applications often require complex database structures. Today, you'll explore some of the advanced features that the MySQL database server offers. You'll discover how to use the MySQL console to enter SQL commands, and build commands to create the application database objects. You'll manually create a database, user account, and all of the tables required for the application. You'll find out about some advanced features that you'll be using, such as creating foreign table key constraints and table views.

Week 2 Friday - Lesson 4

Create Back-End Applications
Every Web store has an administrative interface, which allows the store manager to create and manage the product catalog, as well as process customer orders. In this lesson, you'll dive into the Web store backend application, which allows the store manager to control the Web store environment. You'll examine how to force the store manager to log into the backend system, and how to restrict the system so only the logged-in manager can perform specific functions. You can use this basic backend template to create your own Web store management interfaces for other Web applications.

Week 3 Wednesday - Lesson 5

Create New Categories and Products
The most important feature in the Web store backend application is the ability to create the product catalog. In today's lesson, you'll learn how to incorporate images into your Web store application. You'll discover how to use the MySQL Binary Large Object (BLOB) data type to store images within the MySQL database. And you'll find out how to organize your product catalog by creating sections in the product catalog and assigning each product to a specific section.

Week 3 Friday - Lesson 6

Display Images
After having a store full of products, your store manager will need to know how to manipulate existing product information. In this lesson, you'll build the backend Web pages required to allow the store manager to modify information in existing product database records.

Week 4 Wednesday - Lesson 7

Create a Storefront Web Application
In this lesson, we'll turn our attention to the storefront application. The storefront lays out the basic format for the entire Web store, and gently guides customers to the correct location. You'll see how to best organize and present your products in the store without overwhelming your customers with information while providing them with an easy path to obtaining the information they're looking for.

Week 4 Friday - Lesson 8

Create and Use a Shopping Cart
Once you have your customer in your Web store, you'll want them to purchase something. In this lesson, you'll discover how to create a shopping cart for your customers. You'll learn how to allow customers to select products to place in their shopping carts, and how to display shopping cart information for them to view and modify.

Week 5 Wednesday - Lesson 9

Create a Checkout Web Page
After allowing customers to place products in their shopping carts, the next most important feature is to allow them to check out. You'll create registration pages, to allow your customers to register as returning customers to make future checkout sessions easier. You'll also find out how to take steps to ensure that the data your customers enter in the registration process is valid, and how to protect it from prying eyes.

Week 5 Friday - Lesson 10

Use MySQL Transactions
When a customer checks out and places an order, you must be able to process the data in your application. In this lesson, we'll walk through the PHP programming and MySQL database techniques required to perform this function. We'll also look at how to use database transactions to keep the information in your database tables synchronized so your data is accurate at all times.

Week 6 Wednesday - Lesson 11

Generate Reports
With the bulk of the Web store application finished, we'll turn our attention to a few of the finer details that'll make your Web store more professional. First, you'll learn advanced MySQL searching techniques to help your customers find just what they're looking for. Next, you'll find out how to generate reports directly from your Web store database for your store manager. You'll discover how to extract the data in your database and produce fancy spreadsheet reports that would make any manager envious.

Week 6 Friday - Lesson 12

Use Object-Oriented Programming Techniques
The PHP programming language allows you to incorporate object-oriented programming principles easily in your Web page code. In this lesson, we'll walk through the basic principles of object-oriented programming and how to use it in a Web environment. You'll learn how to incorporate the object-oriented database features in PHP in your Web applications. Finally, you'll create your own object-oriented programming classes to interact with your database table that you can use in any application.
A PHP and MySQL development environment (the first lesson in the course walks through installing the Wampserver software, which provides a full PHP and MySQL development environment in one package. You download Wampserver for free from http://www.wampserver.com/en/); Windows NT, Windows 2000, Windows XP, or Windows Vista (Wampserver does not support either Windows 98 or Windows Me.)

Note: Macintosh users can't use the Wampserver software and must provide their own PHP and MySQL development environment. Prior HTML coding experience is helpful, but not required.

Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Introduction to Python 2.5 Programming

Introduction to Python 2.5 Programming

$190 + applicable tax

The Python programming language was developed with the idea that programmers should have a way to develop code that's easy to create and understand. While Python contains the same basic structures of other languages, it also offers unique functionality that makes the programmer's life easier.

This course will show you how to create basic programming structures like decisions and loops. After that, we'll move on to object-oriented techniques with classes and exceptions. You'll also learn how to use some unique Python data structures like tuples and dictionaries. You'll even learn how to create graphical elements from simple squares and circles to graphical user interface objects like buttons and labels.

By the end of the course, you'll have the foundational knowledge you need to create a variety of Python files, whether they be short scripts, full programs, or graphical user interfaces.

Week 1 Wednesday - Lesson 1

Welcome to Python!
Two things that make Python attractive are that it's a free download and that it comes with a free development environment, IDLE. In our first lesson, we'll start off right by going on a brief tour of both the language and the environment. You'll see that with IDLE, you can either execute individual statements directly at the interpreter's prompt or save your commands in a program file to be run later. By the end of Lesson 1, you'll be fully prepared to work in IDLE using either method.

Week 1 Friday - Lesson 2

Get Interactive With Variables and User Input
Programs aren't terribly useful unless you have some way to store values in memory. In Lesson 2, you'll get up to speed with Python variables, and then you'll learn how to use these variables to get input from the user. With this, you'll be able to write Python code to make your programs interactive, making them more useful and a lot more interesting.

Week 2 Wednesday - Lesson 3

Decisions, Decisions
There are many times when you'll want one set of statements run in one situation and another set run in a different situation. For that, you'll need to use Python's if decision structure. In Lesson 3, you'll practice with Python's if syntax and learn how to write both simple and complex conditions to select which statements should be run.

Week 2 Friday - Lesson 4

Looping (and Looping and Looping)
Keeping with the theme of programming structures, today's lesson is all about the repetition structure. You'll learn how to write both while and for loops in Python so that your statements can be repeated over and over until some condition is met. You'll also learn some looping features that are unique to Python that help to make your programs more powerful.

Week 3 Wednesday - Lesson 5

Modular Programming With Functions
Modular programming gives you the ability to write code once, give it a name, and then call on it by name at a later time. In Lesson 5, you'll learn how to write modular programs by creating functions. You'll also learn how to pass data into the functions and then to return values back, building on this knowledge as you proceed through the course.

Week 3 Friday - Lesson 6

Introduction to Object-Oriented Programming
Building on the concept of modular programming, next we'll explore object-oriented programming. This is a popular technique, and in Lesson 6, you'll get an introduction to how it's done in Python. You'll learn how to create a class definition and place variables and functions inside. Then later, you'll use this class to create some objects and work with them to solve simple problems.

Week 4 Wednesday - Lesson 7

Creating Graphics With Tkinter
It's now time to take some of the topics we've covered and apply them to something a little more creative. Today, we'll explore Python graphics, where you'll create and work with simple shapes and even get a chance to write programs that simulate animation so that you can watch your shapes move across the screen.

Week 4 Friday - Lesson 8

Python Data Structures 1: Lists and Tuples
Now that you're comfortable with the decision and repetition structures, as well as ways to organize your code, it's now time to turn to ways of managing your data. In this lesson, we'll look at two of Python's basic data structures: lists and tuples. You'll learn how to create these types of variables and use them to manage data for your programs.

Week 5 Wednesday - Lesson 9

Python Data Structures 2: Dictionaries
While lists and tuples are useful structures, they put the burden on you to keep track of your data's position within the structure. However, the dictionary structure gives you the ability to associate a word with each piece of data. In this lesson, you'll learn how to use dictionaries to write useful programs in fewer lines of code that'll execute in a shorter amount of time.

Week 5 Friday - Lesson 10

Working With External Data Files
Programs that work with data in memory are great. However, it's also important to be able to save the data in a file for later use. In Lesson 10, you'll learn how to read from and write to data files. You'll also learn about Python's shelve feature, which is a database-like file that allows for quick and easy access to large amounts of data.

Week 6 Wednesday - Lesson 11

Handling Python Exceptions
Let's face it, our programs sometimes encounter problems as they execute. In object-oriented terms, you'd call this an exception. If the exception isn't handled, the program will crash. In this lesson, you'll learn about Python's exceptions and learn how to handle them to keep the program up and running, even when something unexpected happens.

Week 6 Friday - Lesson 12

GUIs With Tkinter
You'll finish the course by exercising the creative part of your brain again. This time, you'll learn how to create a graphical user interface (GUI) in Python. You'll learn how to display text with labels and get user data with text boxes, buttons, radio buttons, and check boxes. Now you'll be able to integrate all the conceptual material that you learned in the course with an attractive, easy to use interface to make for useful, interactive programs.
Python 2.5 and the IDLE development environment. Both are available as free downloads for the Windows, Linux, or Macintosh operating systems at www.python.org.

Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Introduction to Python 3 Programming

Introduction to Python 3 Programming

$190 + applicable tax

Enhance your résumé by adding Python to your programming skills! The Python programming language was developed to provide a way to develop code that's easy to create and understand. While Python contains the same basic structures as other languages, it also offers unique functionality that makes your life as a programmer easier. 

This course will show you how to create basic programming structures including decisions and loops. Then you'll move on to more advanced topics such as object-oriented programming with classes and exceptions. In addition, you'll explore unique Python data structures such as tuples and dictionaries. You'll even learn how to create Python programs with graphic elements that range from simple circles and squares to graphical user interface (GUI) objects like buttons and labels. 

Whether you're interested in writing simple scripts, full programs, or graphical user interfaces, this course will give you the tools you need to use Python with skill and confidence.

Week 1 Wednesday - Lesson 1

Welcome to Python!
Two things that make Python attractive are that it's a free download and that it comes with a free development environment, IDLE. In our first lesson, we'll start off right by going on a brief tour of both the language and the environment. You'll see that with IDLE, you can either execute individual statements directly at the interpreter's prompt or save your commands in a program file to be run later. By the end of Lesson 1, you'll be fully prepared to work in IDLE using either method.

Week 1 Friday - Lesson 2

Get Interactive With Variables and User Input
Programs aren't terribly useful unless you have some way to store values in memory. In Lesson 2, you'll get up to speed with Python variables, and then you'll learn how to use these variables to get input from the user. With this, you'll be able to write Python code to make your programs interactive, making them more useful and a lot more interesting.

Week 2 Wednesday - Lesson 3

Decisions, Decisions
There are many times when you'll want one set of statements run in one situation and another set run in a different situation. For that, you'll need to use Python's if decision structure. In Lesson 3, you'll practice with Python's if syntax and learn how to write both simple and complex conditions to select which statements should be run.

Week 2 Friday - Lesson 4

Looping (and Looping and Looping)
Keeping with the theme of programming structures, today's lesson is all about the repetition structure. You'll learn how to write both while and for loops in Python so that your statements can be repeated over and over until some condition is met. You'll also learn some looping features that are unique to Python that help to make your programs more powerful.

Week 3 Wednesday - Lesson 5

Modular Programming With Functions
Modular programming gives you the ability to write code once, give it a name, and then call on it by name at a later time. In Lesson 5, you'll learn how to write modular programs by creating functions. You'll also learn how to pass data into the functions and then to return values back, building on this knowledge as you proceed through the course.

Week 3 Friday - Lesson 6

Introduction to Object-Oriented Programming
Building on the concept of modular programming, next we'll explore object-oriented programming. This is a popular technique, and in Lesson 6, you'll get an introduction to how it's done in Python. You'll learn how to create a class definition and place variables and functions inside. Then later, you'll use this class to create some objects and work with them to solve simple problems.

Week 4 Wednesday - Lesson 7

Creating Graphics With Tkinter
It's now time to take some of the topics we've covered and apply them to something a little more creative. Today, we'll explore Python graphics, where you'll create and work with simple shapes and even get a chance to write programs that simulate animation so that you can watch your shapes move across the screen.

Week 4 Friday - Lesson 8

Python Data Structures 1: Lists and Tuples
Now that you're comfortable with the decision and repetition structures, as well as ways to organize your code, it's now time to turn to ways of managing your data. In this lesson, we'll look at two of Python's basic data structures: lists and tuples. You'll learn how to create these types of variables and use them to manage data for your programs.

Week 5 Wednesday - Lesson 9

Python Data Structures 2: Dictionaries
While lists and tuples are useful structures, they put the burden on you to keep track of your data's position within the structure. However, the dictionary structure gives you the ability to associate a word with each piece of data. In this lesson, you'll learn how to use dictionaries to write useful programs in fewer lines of code that'll execute in a shorter amount of time.

Week 5 Friday - Lesson 10

Working With External Data Files
Programs that work with data in memory are great. However, it's also important to be able to save the data in a file for later use. In Lesson 10, you'll learn how to read from and write to data files. You'll also learn about Python's shelve feature, which is a database-like file that allows for quick and easy access to large amounts of data.

Week 6 Wednesday - Lesson 11

Handling Python Exceptions
Let's face it, our programs sometimes encounter problems as they execute. In object-oriented terms, you'd call this an exception. If the exception isn't handled, the program will crash. In this lesson, you'll learn about Python's exceptions and learn how to handle them to keep the program up and running, even when something unexpected happens.

Week 6 Friday - Lesson 12

GUIs With Tkinter
You'll finish the course by exercising the creative part of your brain again. This time, you'll learn how to create a graphical user interface (GUI) in Python. You'll learn how to display text with labels and get user data with text boxes, buttons, radio buttons, and check boxes. Now you'll be able to integrate all the conceptual material that you learned in the course with an attractive, easy to use interface to make for useful, interactive programs.
You will need Python 3.X (3.1, 3.2, or a later version), which you can download free of charge at http://www.python.org/download/ for use with any version of Windows, Mac OS X, or Linux. (Software must be installed and fully operational before the course begins.)
Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Introduction to Visual Basic

Introduction to Visual Basic

$190 + applicable tax

Visual Basic is the most widely used programming language for creating Windows applications. Why? Because it's easy to learn, and doesn't require you to memorize difficult commands like other programming languages. In this course, you'll learn how to write Windows applications and programs using the Visual Basic programming language and the Visual Basic development environment. 

Creating a Windows application ordinarily requires you to write lengthy and complex code. But, as you'll see, the Visual Basic development environment relieves you of this task. Instead, it enables you to create the application program and its components literally with the click of a button or menu item. It even writes all of the necessary code to get the application started for you, which you can then view and fine-tune. 

Over the course of 12 lessons, you'll learn the building blocks of programming, including using variables to store data, control structures, and loops. You'll find out how to use the large function library built into Visual Basic, including the .NET Framework, as well as how to write and use your own functions. You'll also see how to use Windows' large and varied library of controls and how to access files and handle errors. And since Windows applications are event-driven and everything in Visual Basic is treated as a programmable object, you'll learn about event-driven and object-oriented programming—concepts that are important not just in Visual Basic, but in other programming languages as well.

 

Course Revised May 2016

Week 1 Wednesday - Lesson 1

Getting Started Using Visual Basic
What's the best way to learn Visual Basic programming? Well, you have to write programs, of course! And your first step toward writing your first program is to install Visual Studio. So in our opening lesson, you'll learn how to install Visual Studio on your computer. After that, we'll walk through creating your first Windows application program while we discuss how a Windows application works.

Week 1 Friday - Lesson 2

Properties
In the first lesson, you were able to create a working Windows application with just a few mouse clicks. In today's lesson, you'll find out what Visual Basic did behind the scenes to help you create that application. You'll also learn about properties, which are characteristics of an object—such as its size and color—and how to change those properties.

Week 2 Wednesday - Lesson 3

Event Procedures
Windows applications are all about events, such as the event a user causes just by clicking a button in the application. Today you'll first learn about event procedures. Then you'll get your feet wet in Visual Basic by writing your first code.

Week 2 Friday - Lesson 4

Controls
So far, we've been focusing on the form, which is perhaps the most important part of a Windows application's graphical user interface (or GUI). However, a form's primary role is to host other controls that enrich the GUI of Windows applications—menus, toolbars, buttons, text boxes, and list boxes. In this lesson, you'll find out how to add controls to your form and how to write code for these controls.

Week 3 Wednesday - Lesson 5

Data Types and Variables
Most computer programs store information, or data. Today you'll learn all about data types, which represent different varieties of data (such as numeric data or text data). Then we'll go over how to store that information in a variable.

Week 3 Friday - Lesson 6

Assignment and Arithmetic Operators
As a former professional chess player, I've marveled at the ability of some computers to play world champion chess players on even terms. But once you understand that computers can calculate far more quickly and accurately than people can, it's easy to see how they're able to outplay the best players. In this lesson, you'll discover how to harness the computer's calculating ability using arithmetic operators.

Week 4 Wednesday - Lesson 7

Relational and Logical Operators
As your programs become more sophisticated, they'll often branch in two or more directions based on whether a condition is true or false. For example, a calculator first needs to determine whether the user chose addition, subtraction, multiplication, or division before performing the indicated arithmetic. Today you'll see how to use comparison and logical operators to determine a user's choice.

Week 4 Friday - Lesson 8

Control Structures
Picking up where Lesson 7 left off, once you know the user's choice, you'll want to execute different code based on that choice. In this lesson, you'll learn how to use If and Select Case statements to execute alternative code statements.

Week 5 Wednesday - Lesson 9

Loops and Arrays
When you were a child, your parents may have told you not to repeat yourself. But sometimes your code needs to repeat itself. For example, if your application's users enter invalid data, your code may continue to ask whether they want to retry or quit until they either enter valid data or quit. Today we'll explore how to use loops, which repeat code execution until a condition is no longer true. Then we'll delve into arrays, which may hold multiple values at one time and work very well with loops.

Week 5 Friday - Lesson 10

Subroutines and Functions

Many textbooks are several hundred pages long. Imagine how much harder a textbook would be to understand if it consisted of only one very long chapter, rather than being divided into manageable sections. Thankfully, chapters organize books into manageable chunks of information. In today's lesson, you'll learn how to similarly divide up your code into separate procedures. We'll explore two types of procedures—subroutines and functions—that help you organize your code.

Week 6 Wednesday - Lesson 11

File Access
When I finish writing something for the evening, I close my word-processing program, and I might even shut down my computer. Of course, the next evening I don't have to start over. What I wrote the previous evening is preserved. However, up until now, our programs haven't saved data so that it's available even after the application exits. Today we'll discuss how to write code that reads from and writes to a text file in order to preserve the data. You'll also learn how to add Open and Save dialog boxes, such as those used in sophisticated programs like Microsoft Word, so you can open a text file to read from it and save to a text file to write to it.

Week 6 Friday - Lesson 12

Handling Exceptions

Nobody's perfect, right? Well, your applications won't always run perfectly either. Sometimes they'll stop due to a runtime error, also called an exception. In our final lesson, you'll find out how to prevent and handle exceptions.

2015 version, free Visual Studio 2015 Community Edition (https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx); or 2010 version if necessary to support your operating system, free Visual Studio 2010 Express (http://go.microsoft.com/?linkid=9709969); Windows 8, 8.1 or 10 (2015 version only), 7 (2010 and 2015 versions), XP or Vista (2010 version only).


Note: This course is not suitable for Macintosh users (unless through software such as Boot Camp, Parallels or the like you can run the Windows OS on your Mac OS X machine). Prior programming education or experience is not a prerequisite.

Students with Visual Basic 2008 will be supported in the Discussion Areas.
Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020
Intermediate Visual Basic

Intermediate Visual Basic

$190 + applicable tax

Why is Visual Basic the most widely used programming language for creating Windows applications? Because it's easier to learn and faster to use than most other programming languages.

If you're a VB programmer who wants to go beyond the introductory level to create the sophisticated and powerful programs business users need, this course is for you. As we focus on database applications, you'll learn the in-demand programming skills you need to get new work in the business world.

We'll begin by discussing how to enrich the graphical user interface with custom menus and toolbars. Next, we'll explore multiple form applications, starting with built-in dialog controls, and then turning to helper forms and Multiple Document Interface applications.

After that, we'll deepen your understanding of databases. You'll find out how to access and modify data with data-bound controls, ADO .NET, and Structured Query Language (SQL). And we'll finish up with a survey of other areas you might be interested in studying, including information on additional SQL functionality, Web applications, and XML.

Week 1 Wednesday - Lesson 1

OpenFileDialog and SaveFileDialog Classes
Sometimes it feels like everything we do in life is either dependant on or monitored by a computer. Indeed, most Visual Basic programs are all about data based on the things we do—things like the books we buy, the stores where we shop, and the restaurants where we eat. This data is stored in a file on the computer's hard drive, and these programs enable their users to locate and save changes to that data. By the time you finish this first lesson, you'll learn how to use the OpenFileDialog and SaveFileDialog classes to give your programs this functionality.

Week 1 Friday - Lesson 2

Menus
The term menu may bring to mind choices of delicious food (and high prices) at an elegant restaurant. Or it may make you think of what you see in the drive-through lane at the local fast food joint. Either way, menus inform you of your choices. They perform a similar purpose in programs, giving you choices depending on what you want to do, such as to open, print, or save a document. In today's lesson, you'll discover how to use menus in your programs.

Week 2 Wednesday - Lesson 3

Toolbars
This lesson is all about bars, but not the kind that serve drinks. Today, we'll explore a different kind of bar—the kind that allows you to enhance your application both visually and functionally. It's called the toolbar or toolstrip, and when you finish this lesson, you'll know how to use toolbars in your applications and how to coordinate them with menus.

Week 2 Friday - Lesson 4

Dialog Forms
In a movie, the leading actor or actress may be the star of the show. But rarely will one actor or actress perform all of the roles in that show. Similarly, the main form in your program may be the star, but as your applications become more sophisticated, you'll need other, helper forms. In this lesson, you'll discover an important type of helper form—the dialog form.

Week 3 Wednesday - Lesson 5

Owned Forms and Property Procedures
In today's lesson, you'll learn about another important helper form and how to use it in your application. We're going to discuss the modeless, or owned form.

Week 3 Friday - Lesson 6

Multiple Document Interface (MDI) Applications
I take for granted that while I'm typing this in Microsoft Word, I can also have other documents open. This function allows me to go back and forth between documents without having to close any. This ability is called Multiple Document Interface, and after today, you'll know how to give this ability to your programs.

Week 4 Wednesday - Lesson 7

Introduction to Databases
In today's lesson, we'll begin our journey into the world of databases. Back in Lesson 1, we talked about how our whole lives are on computers—the books we buy, the stores where we shop, and the restaurants where we eat. This information is stored in databases, and they're what enable you to make sense of data and do useful things with it. You'll learn all about them in this lesson.

Week 4 Friday - Lesson 8

Introduction to Structured Query Language (SQL)
Now that you've learned about databases, you need to speak their language. That language is called Structured Query Language, better known by the abbreviation SQL. After today, you'll not only know how to pronounce SQL, but more important, you'll understand how to use SQL to talk to your database. Of course, you won't literally talk to your database—your friends might start worrying about you if you did—but instead, you'll use SQL in your Visual Basic applications to communicate with your database.

Week 5 Wednesday - Lesson 9

Introduction to ADO.NET
While you've already learned a lot about databases in the previous two lessons, programming is about writing code. So, in today's lesson, you'll learn how to write code to access a database.

Week 5 Friday - Lesson 10

Database Schema
Unlike people, databases don't scheme (though there's this one database I'm suspicious of, but never mind about that!). Databases may not scheme, but they do have a schema. This is the database's structure. It's very useful to know how to access this structure by code. You'll find out how to do that in this lesson.

Week 6 Wednesday - Lesson 11

Master-Detail Tables
The business world—the very people who pay us programmers to write programs—has great demand for programs that help them easily find the data they need to make decisions. This is called drilling down into data. This isn't like oil drilling, but it's important to your applications. When you finish this lesson, you'll know how to create master-detail tables that enable users to quickly find the data they need.

Week 6 Friday - Lesson 12

Where Do I Go From Here?
This may be the final lesson, but it certainly isn't the end of your programming journey. Where do you go from here? In today's lesson, we'll go over all the options that are now available to you!
Required: Visual Basic 2008, free Express edition (software must be installed and fully operational before the course begins); Computer with Windows XP, Vista, Server 2003 or Server 2008; completion of Jeffrey Kent's Introduction to Visual Basic 2008 online course (or equivalent experience).

Note: This course is not suitable for Macintosh users.
Course Details
This course is fully online, you require internet access and an email account. The course duration is 6 weeks, followed by a 2-week period to complete the final exam (online, open book). Lessons are released on Wednesdays and Fridays of each week, for a total of 12. You are not required to be online at any specific time.

In addition to the specific lesson content, there is a discussion board with each lesson and often there is an optional assignment to apply the learning.

Following each lesson, there is a short multiple choice quiz. Your score on these quizzes does not count towards the final mark but completing these helps solidify your learning as well as prepare you for the final exam.

The final exam is an open-book, multiple choice exam and you need to achieve a minimum of 65% on the final exam to pass the course. There is only one opportunity to pass the exam. A certificate of completion from Ed2Go is available for printing immediately upon successful completion of the course and a certificate from the University of Waterloo will be mailed typically 4-6 weeks later.

Certificates
Many of the Ed2Go courses are eligible towards the various online certificates offered by Professional Development.

Choose your course start date:

Sep 11, 2019Oct 16, 2019Nov 13, 2019Dec 11, 2019Jan 15, 2020Feb 12, 2020