CTFA: Secret Weapon for Your Intro Programming Course

Avatar photo Dr. Nkenge Wheatland

If you’re teaching an introductory programming course in Python, Java, C++, or C, you’ve probably looked for additional resources that present the bigger picture of computing and computing devices. That’s where Computing Technology for All (CTFA) comes in. It’s essentially the “everything else you need to know” book that fills in all the gaps surrounding programming itself for introductory-level courses. Many instructors using zyBooks have benefited from combining CTFA with their Programming titles.

The Power of the Combined Approach

While the Introduction to Programming titles focus on syntax, constructs, and algorithms, CTFA covers how computers actually work—hardware basics, memory hierarchies, operating systems, and how code gets translated from high-level languages to machine instructions. Students learn about bits and data representation, which helps them understand data types and memory limitations. They grasp how the CPU, cache, and memory interact, which explains why certain operations are faster than others.

Using both books together means students aren’t just learning how to code—they understand why things work the way they do. The combination approach also prepares students for real-world development by covering the modern computing ecosystem: computer hardware components, web technologies, operating system varieties, and AI basics.


Suggested CTFA Content for Your Programming Course

In a programming course, not every chapter in CTFA needs equal emphasis—here are sections that you may find are valuable additions to pair with an Introduction to Programming title:

Chapter/SectionsWhy It Matters for Programming
1.4 Computers all around us
1.5 Representing information as bits
1.6 Naming numerous bits
Gives context as to why computing and programming is important. Helps students understand how data types and variables are stored in memory.
2.1 Basic hardware
2.2 Cache, memory, drive
Details the physical parts of the computer, where data lives, and why memory matters.
2.8 Programming: Machine language
2.9 Programming: Assembly language
2.10 Programming: High-level language
Explains the progression from machine language to the high-level language students are learning in their intro class. Demystifies what compilers/interpreters actually do.
Chapter 4 The Internet and WebProvides a general history and description of the internet and basic web programming practices.
5.1 Operating system basics
5.2 Evolution of operating systems
Shows how programs run and interact with the different types of operating systems.
10.2 Information system development
10.3 Information systems career paths
Creates the connection to software development and differentiates the fields of computer science and information systems.
12.2 AI basics
12.3 Generative AI and LLMs
12.4 AI ethics
Helps students understand how AI can be a useful tool, but also the ethical implications of AI.
13.2 Computational problem solving
13.4 Abstraction in computing
Covers how to break down and solve complex problems.

The Bottom Line

Pairing CTFA with your Introduction to Programming title can benefit your students by weaving in foundational concepts as you teach coding. The result? Students gain a high-level context alongside programming skills, making them more confident, capable programmers who understand how their code fits into the broader technology landscape.

Avatar photo
Author Bio

Dr. Nkenge Wheatland

Nkenge Wheatland is a Sr. Manager for Content Development in Computer Science at zyBooks, where she overseas the development and maintenance of CS titles. She earned a B.S in Computer Science at the University of Maryland, Baltimore County (UMBC) and an M.S. and Ph.D. in Computer Science at the University of California, Riverside (UCR). While at UCR, she was a lecturer for multiple undergraduate computer science courses and developed two new courses in computer graphics and animation that were co-taught with a member of the Art department.