
Welcome to the TTT system.
The TTT System is a suite of files and programs aimed at providing you (the learner)
with an interactive, world wide web based online course in
the fundamentals of programming using the C++ programming language.
Contents
What is the TTT online learning system?
Structure of the TTT system.
The course is based on web documents each of which covers a single topic. Each topic
contains three sections:
- Topic: An expository section which contains reading material,
diagrams and examples designed to introduce and explain the concepts involved
in the topic.
- Task: A group of activities which you are encouraged to do. These tasks relate
directly to the elements in the topic and provide the most important ingredient
in your learning: practice. Many tasks now also have a link
called "Sample solution" which will give you an immediate check of your
work on a particular task.
- Test: A set of multiple choice questions which you answer directly in the document. When you
have chosen your answers, you can send the test off to be marked by clicking on
the "Submit Test" button at the bottom of the test. The correct answers and
your score are delivered back to you immediately.
Where the course materials come from.
The sequence of topics for this course correlate strongly with the distance
education materials provided for our subject ITC120 (Fundamentals of Programming
using C++). However, the material you will see in the TTT system are not merely
online copies of this written material. I have tried to take advantage of
hyperlinking provided by the world wide web to provide cross-referencing of
topics and concepts within topics. CGI (Common Gateway Interface) programs
are responsible for the instant assessment of the topic tests.
Who can do the course?
At this stage there are no restrictions on course candidates. Anyone who is
interested in learning how to program in C++ or who wants to explore the TTT
system is welcome to partake. I welcome any feedback you might wish to give and
you can use the email link at the bottom of any TTT document to send me
your comments or suggestions.
Index to Topics
The list below contains 'sections' each of which contains a group
of topics focusing on one programming concept.
- Preliminary concepts and control structures.
- Modularisation with Functions.
- TTT Problem Set 1.
- Batch Processing.
- Arrays in C++.
- Structures and arrays of structures.
Preliminary section...........
- Topic 1: Getting started.
- The very beginning of the course. This topic gives some preliminary
advice about learning to program and explains the mechanical steps involved
in writing a computer program.
- Topic 2: C++ Program structure.
- This topic gives you a general overview of what a C++ program looks
like and introduces you to the various 'sections' of C++ programs.
- Topic 3: Simple Programs.
- In this topic you are introduced to your first (very simple) program
and given the opportunity to examine it in detail.
- Topic 4: Making decisions.
- This is an introduction to binary selection using the keywords
"if" and "else"
- Topic 5: More about selection.
- Some other work on if/else structures including more complex logical
expressions.
- Topic 6: Going Loopy.
- An introduction to iteration (looping) in C++. This topic
covers the simple facts about while loops.
- Topic 7: Combining control structurs.
- This topic puts together the work on while loops and binary selection
and introduces 'interactive loops'.
Introduction to C++ Functions.........
- Topic 8: An introduction to modularisation with
C++ functions.
- Here we start to look at functions. These are extremely important in
programminmg, especially in C++. This topic is kept to a simple
introduction.
- Topic 9: Sending information to functions.
- This continues the work on functions by introducing parameters.
It discusses the way be use actual and formal parameters to pass values
to functions.
- Topic 10: Functions which return information
to the caller.
- This topic introduces the 'return' mechanism of C++ functions which
allows them to deliver results back to the code which called them.
- Topic 11: Reference variables and parameters.
- This last topic on functions discusses passing parameters to functions
by reference. It includes some work on automatic memory allocation
for parameters (longer and more technical than the previous work
on functions).
TTT Problem Set 1
- TTT Problem Set 1
- This is a set of easy problems to be used for essential
practice. A fully worked example showing analysis, design, test and code
is provided as well as other problems with online sample solutions.
Processing data in external files (Batch
processing)
- Topic 12: Reading and processing data from external
files.
- This topic introduces the creation, openning, reading and processing of
data which is held in external text files. A number of examples are given
and many of the sample solutions also contain sample data files and sample
output from programs which process these data files.
- Topic 13: Writing data to external text files.
- Here we look at the mirror image of Topic 12. This topic is short
as much of the work has been covered in Topic 12. However, there is at least
one difference between reading and writing to files so this topic is
still worth reading.
Arrays in C++
- Topic 14: Introduction to Arrays.
- A preliminary look at our first 'structured' data type. This topic
provides the very elementary concepts behind arrays and simple array
processing.
- Topic 15: Array processing routines.
- Here I demonstrate a number of 'standard' routines for dealing
with arrays and along the way, discuss the merits of using 'for' loops
to process arrays. The method of passing an array to a function is
also covered.
- Topic 16: Arrays of character - Strings.
- Strings are arrays which are used to hold words, sentences and
messages. This topic deals with the special methods used to construct
and manage strings.
Structures and arrays of structures
- Topic 17: Structures
- This topic introduces the definition of C++ structs. It discusses
the use of structs and gives some examples.
Author: Errol Chopping
echopping@csu.edu.au
Lecturer in Computing
Charles Sturt University - Mitchell
Bathurst NSW 2795
Australia.
Last Update: May 8, 1996