Orientation: Introduction to Programming

Get Started

Message from your Instructor

This message confirms that you have signed up for Introduction to Programming, a Fundamentals course that I will be teaching entirely online. I have prepared this document to help make your online educational experience as positive and enjoyable as possible. It contains contact information, a description of our course delivery system, course mechanics, and a course schedule.

How to get Started:

This course is conducted through an online classroom. You will need to go to this classroom to obtain your lessons, work through tutorials, take quizzes, complete assignments, participate in discussions with your fellow students, and ask questions of your instructor. As soon as the registration office verifies receipt of your payment, you will be able to participate. Here's how it works:

  1. Wait until after 12:00 a.m. (Pacific Time) on the start date for this course.
  2. After the course begins, go to https://www.ed2go.com/cessdsu/. The Online Classroom is open 24 hours a day and seven days a week, so please feel free to log in to your classroom at any time of day that is convenient for you.
  3. Once on the website, click the Login link at the top right of the page.
  4. Finally, log in with the username and password you provided us at the beginning of this orientation procedure. You should then be able to enter the online classroom and begin your studies.

Course Description

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.

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.

Course Requirements

Requirements:

Hardware Requirements:

  • This course must be taken on a PC. Macs are not compatible.

Software Requirements:

  • PC: Windows 8 or later.
  • Browser: The latest version of Google Chrome or Mozilla Firefox are preferred. Microsoft Edge is also compatible.
  • Adobe Acrobat Reader.
  • Software must be installed and fully operational before the course begins.

Other:

  • Email capabilities and access to a personal email account.

Instructional Material Requirements:

The instructional materials required for this course are included in enrollment and will be available online.

Course Mechanics

I will make two lessons available to you every week for six weeks. You do not have to be present when a lesson is released, but you'll need to complete each lesson within two weeks of its release.

Once all 12 lessons have been released, I will give you a two-week grace period to complete your studies and take the final exam. This means that you have a total of eight weeks to complete this course. If you're thinking of taking another course after this one, you can avoid overlap by starting that course exactly two months after this one begins.

Lessons are released by 12:00am (Pacific Time) on Wednesdays and Fridays. To access your lessons, simply visit the online classroom (as described in the "Getting Started" section), and then click the lesson title you wish to visit.

Once the class access ends, I won't be able to send you the lessons. If you would like to keep the lessons for future reference, I suggest using the print lesson feature in the classroom.

Each time you complete a lesson, you will also be asked to complete a brief multiple-choice quiz. I expect you to complete each quiz within two weeks from the date that the corresponding lesson was made available. I realize that you are busy, and don't want you to worry if you can't complete a few of the quizzes on time due to illness, vacation, or other commitments. Once I release a lesson and quiz, I will make sure it is available to you as long as the classroom is open.

The interactive multiple-choice quizzes are designed to test your comprehension of the course material. When you complete a quiz, you will receive an instant analysis of your work.

This analysis will include a brief explanation of any errors you may have made. If you are not satisfied with your performance, you are welcome to re-take the quiz until you feel that you have mastered the quiz objectives.

Note: If you ever want to see a progress report showing your performance on the quizzes over time, simply return to https://www.ed2go.com/cessdsu/ and click Login or Account at the top right of the page. Once logged in, click the Report tab under the course title.

Some of your lessons will also be accompanied by an assignment. The assignments are designed to help you expand your understanding of the material taught in this course. Assignments are typically more detailed and may take a bit more time to work through than quizzes.

I expect you to complete each assignment within two weeks from the date that the corresponding lesson was made available. Unlike the quizzes, your assignments will not be evaluated. Assignments are designed primarily for your enrichment. You have the sole responsibility for evaluating your performance on each assignment. If you have questions about an assignment, please feel free to use the Discussion Areas to discuss your assignments with your fellow students and me.

When you work through an assignment, you will be gaining practical first-hand experience with the new skills taught in this course. Your performance on the final exam will depend in no small part on your mastery of the assignments.

The course will conclude with a final exam, which will test your comprehension of the material covered in this class. You must complete the final exam within two weeks from your receipt of lesson 12. Please review your selections before submitting. You may only submit your final exam answers once. Your performance on the final exam is the only factor we will consider when determining your eligibility for a certificate of completion. Although your quiz and assignments will not count toward your eligibility for a certificate, I do recommend that you try to complete each quiz and assignment to the best of your abilities. Doing so will leave you better prepared to pass the final exam.

When you finish your studies, please note that our classroom log-out process is fully automated. We will log you out of the classroom automatically whenever you close your browser or shut down your computer.

Questions

This course can be highly interactive, but the level of that interactivity is controlled by you. Since I can't see that puzzled look on your face, it's going to be up to you to ask questions when you get stuck.

I expect to get many interesting questions from you and your fellow students. I want to make sure that you and your classmates benefit from these often illuminating queries.

Therefore, I would like to request that you avoid e-mailing your questions to me. Instead, I have created 12 Discussion Areas in the online classroom (one Discussion Area for each lesson). To reach these Discussion Areas, all you will need to do is wait for the course to begin, go to the online classroom, select the lesson you're working on, and click the Discussion Area tile.

Your Discussion Area questions will serve as a challenge for your fellow students. Someone is bound to have an answer for you. Likewise, you should be able to find questions in the Discussion Area that you can answer. The Discussion Area will be open to you and your classmates 24 hours a day and seven days a week. Please try to visit the Discussion Area at least every other day while the course is in session, and don't be afraid to participate!

I firmly believe that the best way to learn a new skill is to teach it to others. We will all benefit by helping one another understand this complex material.

Because I don't want to see any unanswered questions, I (or one of my very capable teaching assistants) will be monitoring the Discussion Area at least every other day (excluding weekends and holidays). If you ask a relevant question, but fail to get a correct answer (or any answer whatsoever) from your classmates, then we will try our hardest to answer the question for you.

Please understand that the Discussion Area is reserved for conversations about the material in your lessons. While it is perfectly acceptable for you to employ a bit of friendly banter as you converse with your fellow students and instructors, I must ask you to always remember to stay on topic.

It is not appropriate to use the Discussion Area to sell goods or services, complain about something, or talk about subjects that are not specific to the lesson at hand, for example. Such off-topic conversations waste people's time and detract from the learning experience for all involved. I reserve the right to immediately delete any message without comment if I feel that it does not pertain directly to the material I am trying to teach.

I will also delete any messages containing language that I feel is derogatory, controversial, insulting, or otherwise inappropriate for my classroom.

Reminder

A legitimate organization would never send you an unsolicited e-mail that contains an attachment or asks for personal information. If you ever receive an unsolicited e-mail that contains an attachment or asks for personal information, delete the e-mail immediately.

When to Write my Course Administrator

As I mentioned earlier, the course Discussion Area is reserved solely for discussion of the material in your lessons.

Please do not use the course Discussion Areas for compliments, complaints, technical support, or other personal matters. Instead, please send such messages directly to my course administrator.

To contact the course administrator, scroll to the very bottom of any page within the classroom and look for the Support link.

Please understand that it may take my course administrator two or sometimes three business days to respond to e-mail, so provide plenty of time for a response.

If you need an extension, forgot your password, want a progress report, want to register for another course, or need help when you're not in my classroom, you can contact Student Support using the Help link under Resources in the footer of any page at https://www.ed2go.com/cessdsu/.

Syllabus

Note: This course will run for six weeks. Two lessons will be released each week for the six-week duration of the course. You do not have to be present when each lesson is released. Instead, you can take up to two weeks to complete each lesson after it is released.

Important: In order to keep this material as up-to-date and informative as possible, I reserve the right to make changes to the course content, description, and syllabus at any time and without warning.

A new session of each course we offer starts on the second or third Wednesday of every month. You may enroll in more than one course at a time. If you are enrolling in a series of two or more courses, please be sure to space the start date for each course at least two months apart.

Week 1

Getting Started With Just BASIC
Wednesday

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

Creating Programs With Just Basic
Friday

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. This lesson will introduce you to the resources that Just BASIC provides. You'll see how you can use these tools to develop software applications and 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, you'll create your first actual computer game: the Legend of Mighty Molly.

Week 2

Creating Windows for Graphical User Interfaces
Wednesday

You'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. The lesson will 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. You'll close out the lesson by creating the Math Madness computer game, which will give you some great practice in working with GUIs.

Adding Controls to Windows
Friday

You already know how windows work, but most desktop application user interfaces are more than just windows. They also consist of a collection of interface controls, such as buttons and text boxes. So controls are what you'll concentrate on in this lesson. Just BASIC allows you to create many different types of controls. You'll look at each of Just BASIC's controls in detail and then examine each one's programming syntax. As always, there will be 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

Working With Controls and FreeForm-J
Wednesday

In this lesson, you'll continue your exploration of GUI elements. The lesson will show you 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, you'll dig into FreeForm-J, the powerful Just BASIC application that allows you to visually design your GUIs. You'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. You'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.

Working With Variables and Arrays
Friday

The subject for this lesson is the retrieval and storage of data in computer memory. Specifically, you'll be digging into how to store and retrieve individual pieces of data in variables. You'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, you'll create a computer application called the Ask Mustafa game.

Week 4

Making Decisions With Conditional Logic
Wednesday

To create complex applications, a computer program needs a way of evaluating different values to determine a logical direction in which to proceed. As a programmer, you can do this with conditional programming statements that use mathematical, comparison, and logical operators. That's what you'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, you'll wrap up the lesson with a project application called the Karaoke Night game.

Using Loops to Process Data
Friday

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. You'll look at how to use a number of different types of loops and learn 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

Functions and Subroutines
Wednesday

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.

Working With Text Files
Friday

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 you'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

Working With Sound and Graphics
Wednesday

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 you'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. You'll also work on a new project application that should be a lot of fun: the Slot Machine game.

Debugging Your Applications
Friday

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 this lesson will show you the fundamental steps for identifying and correcting them. You'll learn about the development of error handling procedures and 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.

Instructor

Richard Blum

Richard Blum has been an IT industry professional for over 20 years, working mainly as a network and systems administrator. During this time, he has worked with Microsoft, Novell, Unix, and Linux servers, and has created websites using a variety of different programming languages. Blum is the author of several programming and systems administration books, including Professional Assembly Language, C# Network Programming, PostgreSQL 8 for Windows, Sendmail for Linux, Postfix, and Network Performance Open Source Toolkit.

Back to top