# Programming Fundamentals/Orientation and Syllabus

An orientaiton to the textbook/collection "Programming Fundamentals - A Modular Structured Approach using C++" when used as a course.

## Orientation
### Textbook/Collection Layout

The approach of this course will be to take the student through a progression of materials that will allow the student to develop the skills of programming. The basic unit of study is a module. Several modules are collected into a chapter. The chapters are divided into five groups.
TABLE 1 :
| Group Title | Chapters | Modules |
| Pre-Chapter Items | N/A | 4 |
| Foundation Topics | 1-5 | 27 |
| Modular Programming | 6-9 | 17 |
| Structured Programming | 10-16 | 30 |
| Intermediate Topics | 17-21 | 17 |
| Advanced Topics | 22-24 | 11 |
| Review Materials | N/A | 5 |
| Appendix | N/A | 7 |
| Total Modules | N/A | 118 |
Some professors using this textbook/collection might decide to eliminate certain modules or chapters. Some may eliminate the entire Advanced Topics group. Other professors may choose to add additional study materials. The advantage of this textbook/collection is that it may be adapted by professors to suit the needs of their students.

### Chapter Layout

Each chapter will usually flow from:
* One or more modules built for independent delivery.
* A Practice module built specifically for this textbook/collection.
As you proceed with the modules that comprise a chapter, you should:
* Complete any tasks/demos that require downloading items.
* Do any exercises.
* Create 3x5 study cards for all definitions. When this material is used as a textbook for a course the definitions are to be memorized. Confirm this with your professor.
As you start the Practice module you will usually encounter:
* Learning Objectives
* Memory Building Activities aka MBAs Link – These could consist of any of the following types of interactive computer activities: flash card, crossword puzzle, seek a word, drag n drop, labeling, ordering or sorting. When the materials are used as a textbook for a course, it is imperative that students do a variety of repetitive activities in order to memorize basic course material. Besides, have fun learning.
* Exercises – In addition to any exercises within the study modules that you completed before the practice module, there will be at least one exercise for students to complete.
* Miscellaneous Items – These will exist for some of the chapters.
* Lab Assignment – Usually, completed on one's own efforts. Review the instructions/restrictions from your professor/teacher if using this for a high school or college credit course.
* Problems – The intent of this activity is for students to formulate their own answers. Thus, solutions to the problems will not be provided. When the materials are used as a textbook for a course, the professor/teacher may assign students to a "Study Group" or let students form study groups to discuss their solutions with each other. If you are using this for a high school or college credit course, verify that you may work as team at solving the problems. This type of approved activity is called "authorized collusion" and is not a violation of "Academic or Scholastic Dishonesty" rules.
A professor using this textbook/collection/course will most likely have additional lab assignments, quizzes and exams that would be used in calculating your grade.

### Module Reading List

The modules in this textbook/collection have had content reviewed and are believed to be sufficient, thus no additional textbook is required. However, some students desire additional references or reading. The author has used several textbooks over the years for teaching "COSC1436 – Programming Fundamentals I" course at Houston Community College and at the Community College of Qatar. A reading reference list has been prepared and includes references for the following textbooks:
* Starting Out with C++ Early Objects, by: Tony Gaddis et. al., 7th Edition, International Edition, ISBN 978-0-13-137714-1
* Starting Out with C++ Early Objects, by: Tony Gaddis et. al., 6th Edition, ISBN 0-321-51238-3
* Starting Out with C++ Early Objects, by: Tony Gaddis et. al., 5th Edition, ISBN 0-321-38348-6
* Computer Science – A structured Approach using C++, by: Behrouz A. Forouzan et. al., 2nd Edition, ISBN 0-534-37480-8
These textbooks are typically available in the used textbook market at a reasonable price. You may use any one of the three books. If you acquire one of the above optional traditional textbooks, you may want to download and store the following file to your storage device (disk drive or flash drive) in an appropriate folder.
Additional reading list: Connexions_Module_Reading_List_col10621.pdf

## Syllabus

The syllabus for a course that is for credit will be provided by your specific course professor. If you are using this textbook/collection for non-credit as self-study, we have some suggestions:
* Plan regular study periods
* Review the three (3) Pre-Chapter Items modules
* Review the last four (4) modules in the Appendix
* Proceed with Chapter 1 going through all 24 chapters
* Do all of the demo programs as you encounter them
* Memorize all of the terms and definitions
* Do all lab assignments
* Prepare answers to all of the problems in the Practice modules
* At the end of every section, do the Review module
These is no magic way to learn about computer programming other than to immerse yourself into regular study and study includes more than casual reading. To help you keep track of your study, we have included a check off list for the textbook/collection.
TABLE 2 :
| Check | Description | # Modules |
| | Pre-Chapter Items | 4 |
| | Last four Appendix Items | 4 |
| | Chapters 1 to 5 | 27 |
| | Review Materials for 1 to 5 | 1 |
| | Chapters 6 to 9 | 17 |
| | Review Materials for 6 to 9 | 1 |
| | Chapters 10 to 16 | 30 |
| | Review Materials for 10 to 16 | 1 |
| | Chapters 17 to 21 | 17 |
| | Review Materials for 17 to 21 | 1 |
| | Chapters 22 to 24 | 11 |
| | Review Materials for 22 to 24 | 1 |
| | First three Appendix Items | 3 |
| N/A | Total Modules | 118 |