Course Code: cab
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. In this lesson, you'll learn how to install Visual Studio on your computer and create your first program.
You've created a working C++ application. In this lesson, you'll find out what each line of C++ code means in your "Hello World!" program. You'll also learn how this C++ code is translated to machine language that the computer understands and can execute as a running program. Finally, you'll learn how to see and fix errors in your code.
In this 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 then 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.
In this lesson, 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.
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.
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.
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.
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.
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.
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.
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.
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.
Jeffrey A. Kent is a Professor of Computer Science, teaching both traditional and online classes. He has taught a number of computer programming languages, including C, C++, Java, Visual Basic, and Assembly. He is the published author of several computer-programming books, including "Visual Basic 2005 Demystified" and "C++ Demystified." He is also an attorney and has combined both careers by writing applications for law firms.
There are no prerequisites to take this course.
The instructional materials required for this course are included in enrollment and will be available online.
Instructor-Led: A new session of each course begins each month. Please refer to the session start dates for scheduling.
Self-Paced: You can start this course at any time your schedule permits.
Instructor-Led: Once a session starts, two lessons will be released each week, for the 6 week duration of your course. You will have access to all previously released lessons until the course ends.
Self-Paced: You have three-month access to the course. After enrolling, you can learn and complete the course at your own pace, within the allotted access period.
Instructor-Led: The interactive discussion area for each lesson automatically closes 2 weeks after each lesson is released, so you're encouraged to complete each lesson within two weeks of its release.
Self-Paced: There is no time limit to complete each lesson, other than completing all lessons before your three-month access expires.
Instructor-Led: The Final Exam will be released on the same day as the last lesson. Once the Final Exam has been released, you will have 2 weeks plus 10 days to complete the Final and finish any remaining lessons in your course. No further extensions can be provided beyond these 10 days.
Self-Paced: Because this course is self-paced, no extensions will be granted after the start of your enrollment.
At first I was skeptical about taking an online course as I never took one before, however after the first few lessons I had no cause to worry. This online course has taught me better than most actual classroom courses have and I strongly recommend it to anyone interested in getting a sound tutorial in this subject, regardless of experience as a programmer."
Great class! Covered everything you need to know to get you started. Sometimes "beginner" classes don't start out at the beginner level. I knew nothing going in and was quite comfortable with the level that this course started with. Thanks!"
Helped a lot. I now feel like I can start doing independent projects to increase my learning. Before I couldn't understand all the jargon online. Now it all makes sense. Thank you, Mr. Kent."
I thoroughly enjoyed this course. I recommend everyone interested in a technical field take a similar course. Thank you, this course really motivated me to take advanced courses in this area."
Jeffrey is one of the best professors I have ever had the privileged to study with. Being my first online course, I wasn't sure it would work out for me. I usually flourish with human-to-human contact. By the second week with Jeffrey and his clear, fun, and uplifting writing style, I knew I had made the right decision. And I felt that my professor was just as accessible as any teacher I have had. I appreciate this experience so much; I look forward to signing up for another online class with my school, and hopefully with Jeffrey."
The course was done quite well, and I liked the approach to how it was taught, good style. The course work explained concepts very well, and made it easier to understand."