Section 1.3 Instructional Notes
Subsection 1.3.1 Exercises (and what they lack)
The exercises in this book are designed to reinforce the concepts presented in a given section or chapter and, generally, to provide instant feedback. They make use of interactive elements that evaluate the learners responses. Exercises in each section are designed to be completed as part of reading. Exercises at the end of each chapter are meant to review the material and provide additional practice.
They are NOT intended to be the only form of practice. Each exercise generally focuses on a very specific skill or concept. There are many essential skills that these exercises do not adequately address, including:
-
Setting up and using a real development environment
-
Writing readable and maintainable code, following styling conventions
-
Communicating about code with others (e.g. documentation, code reviews, pair programming, etc...)
-
Integrating many different concepts to solve larger problems
If you are an instructor, you will need to provide additional practice opportunities for your students that address these skills. If you are learning on your own, you should periodically stop and try to write programs that integrate multiple concepts.
Subsection 1.3.2 Case Studies
One of the challenges of a programming text is balancing the need to efficiently convey the details of new concepts while also providing examples of how larger programs are built. The early part of this book features Case Studies that explore developing a larger program using newly learned concepts.
Later in the book, as a meaningful scale project becomes larger and larger, there are fewer such examples. It is hoped that the learner will have already internalized the concept of iterative development and be able to apply the concepts on their own.
Subsection 1.3.3 Chapter Dependencies
Not every chapter of this book must be read in order. Some chapters can be skipped or read out of sequence without losing the overall understanding of the material. The diagram below shows the dependencies that exist.
The dependencies between chapters in this book.
flowchart TD Intro["`Chapters 1-5 Variables & Functions`"] Files["`Chapter 6 Multiple files`"] Ch7-11["`Chapters 7-11 Control & Strings`"] Ch12["`Chapters 12 Program Design`"] Ch13["`Chapter 13 Vectors`"] Ch14["`Chapter 14 Multidimensional Vectors`"] Ch15-20["`Chapters 15-20 Basic Object Oriented Programming`"] Ch15-20["`Chapters 15-20 Basic Object Oriented Programming`"] Ch21["`Chapter 21 Recursion`"] Ch22["`Chapter 22 Memory Management`"] Intro --> Files Intro --> Ch7-11 Files --> Ch12 Ch7-11 --> Ch12 Ch7-11 --> Ch13 Ch13 --> Ch14 Ch13 -.-> Ch15-20 Ch14 -.-> Ch21 Ch15-20 --> Ch22
You have attempted of activities on this page.