group of programmers coding with laptops

LEARN HOW TO CODE FOR SOFTWARE & WEBSITES

Overview

As the lingua franca of programming and computer systems, C is an essential language for programmers who want to work on software, websites and more. Often, programmers will also need C to debug or enhance projects.

In the Programming in C zyBook, you will learn all essential concepts of coding based on the C99 language standard. All introduced features are also compatible with C11, allowing greater flexibility when completing projects.

Research Proven Excellence

Preferred Choice

80% of surveyed students preferred zyBooks over regular textbooks.

Better Learning

Studies show that students learn 118% more with the minimal text model in only one lesson.

Proven Results

On average, zyBook users improved grades up to ⅔ and read 74% more than users of regular textbooks.

What is a zyBook?

In short, zyBooks are interactive, digital textbooks.

 

By incorporating available technology, zyBooks make learning fun, interactive and engaging – all while drastically reducing the time spent on learning theoretical concepts.

What is a zyLab?

zyLabs are online lab environments that are integrated into their respective zyBooks.

Through zyLabs, you can practice your new skills and obtain immediate feedback and grades. No additional downloading of software required.

Course Details

The Programming in C zyBook introduces and cements essential programming concepts with minimal text, maximum interactivity.

ZYBOOKS

Module 1: How to use a zyBook


1.1 Basics 1.2 Account and platform basics 1.3 Progression challenge activities 1.4 Programming challenge activities 1.5 Feedback 1.6 zyLab basics




Module 2: Introduction to C


2.1 Programming (general) 2.2 Programming basics 2.3 Comments and whitespace 2.4 Errors and warnings 2.5 Computers and programs (general) 2.6 Computer tour 2.7 Language history 2.8 Problem solving 2.9 Why programming 2.10 Why whitespace matters 2.11 C example: Salary calculation 2.12 C example: Married-couple names




Module 3: Variables and Expressions


3.1 Variables and assignments (general) 3.2 Identifiers 3.3 Strings 3.4 Integer overflow 3.5 Arithmetic expressions (general) 3.6 Floating-point numbers (double) 3.7 Scientific notation for floating-point literals 3.8 Constant variables 3.9 Using math functions 3.10 Integer division and modulo 3.11 Type conversions 3.12 Binary 3.13 Characters 3.14 Strings 3.15 Integer overflow 3.16 Numeric data types 3.17 Unsigned 3.18 Random numbers 3.19 The printf and scanf functions 3.20 Debugging 3.21 Style guidelines 3.22 C example: Salary calculation with variables 3.23 C example: Married-couple names with variables




Module 4: Branches


4.1 If-else 4.2 More if-else 4.3 Equality and relational operators 4.4 Detecting ranges (general) 4.5 Detecting ranges with if-else statements 4.6 Logical operators 4.7 Example: Toll calculation 4.8 Order of evaluation 4.9 Switch statements 4.10 Boolean data type 4.11 String comparisons 4.12 String access operations 4.13 Character operations 4.14 Conditional expressions 4.15 Floating-point comparison 4.16 Short circuit evaluation 4.17 C example: Salary calculation with branches 4.18 C example: Search for name using branches




Module 7: User-Defined Functions


7.1 User-defined function basics 7.2 Return 7.3 Reasons for defining functions 7.4 Functions with branches/loops 7.5 Unit testing (functions) 7.6 How functions work 7.7 Functions: Common errors 7.8 Pass by pointer 7.9 Functions with array parameters 7.10 Functions with C string parameters 7.11 Functions with array parameters: Common errors 7.12 Scope of variable/function definitions 7.13 Parameter error checking 7.14 Preprocessor and include 7.15 Separate files 7.16 C example: Salary calculation with functions 7.17 C example: Domain name validation with functions




Module 6: Arrays


6.1 Array concept (general) 6.2 Arrays 6.3 Array iteration drill 6.4 Iterating through arrays 6.5 Multiple arrays 6.6 Swapping two variables (General) 6.7 Loop-modifying or copying/comparing arrays 6.8 Debugging example: Reversing an array 6.9 Two-dimensional arrays 6.10 Char arrays / C strings 6.11 String library functions 6.12 Char library functions: ctype 6.13 Arrays and strings 6.14 C example: Annual salary tax rate calculation with arrays 6.15 C example: Domain name validation with arrays




Module 5: Loops


5.1 Loops (general) 5.2 While loops 5.3 More while examples 5.4 For loops 5.5 More for loops examples 5.6 Loops and strings 5.7 Nested loops 5.8 Developing programs incrementally 5.9 Break and continue 5.10 Variable name scope 5.11 Enumerations 5.12 C example: Salary calculation with loops 5.13 C example: Domain name validation with loops




Module 11: Recursion


11.1 Recursion: Introduction 11.2 Recursive functions 11.3 Recursive algorithm: Search 11.4 Adding output statements for debugging 11.5 Creating a recursive function 11.6 Recursive math functions 11.7 Recursive exploration of all possibilities 11.8 Stack overflow 11.9 C example: Recursively output permutations




Module 10: Input / Output


10.1 The stdout and stdin file pointers 10.2 Output formatting 10.3 Input parsing 10.4 File input and output




Module 9: Pointers


9.1 Why pointers: Pass by pointer example 9.2 Pointer basics 9.3 The malloc and free functions 9.4 Pointers with structs 9.5 String functions with pointers 9.6 The malloc function for arrays and strings 9.7 The realloc function 9.8 Vector ADT 9.9 Why pointers: A list example 9.10 A first linked list 9.11 Memory regions: Heap/Stack 9.12 Memory leaks 9.13 C example: Employee list using vector ADT




Module 8: Structs


8.1 Grouping data: struct 8.2 Structs and functions 8.3 Structs and arrays 8.4 Structs, arrays, and functions: A seat reservation example 8.5 Separate files for structs




Module 13: Additional Material


13.1 Do-while loops 13.2 Engineering examples 13.3 Command-line arguments 13.4 The #define directive 13.5 Modular compilation 13.6 Makefiles 13.7 Binary file I/O 13.8 Engineering examples using functions 13.9 Command-line arguments and files 13.10 Additional practice: Output art 13.11 Additional practice: Grade calculation 13.12 Additional practice: Tweet decoder 13.13 Additional practice: Dice statistics 13.14 zyBooks built-in programming window




Module 12: Searching and Sorting Algorithms


12.1 Searching and algorithms 12.2 Binary search 12.3 O notation 12.4 Algorithm analysis 12.5 Sorting: Introduction 12.6 Selection sort 12.7 Insertion sort 12.8 Quicksort 12.9 Merge sort





ZYLABS

Module 2: Introduction to C


2.1 Basics 2.2 Interleaved input / output 2.3 Formatted output: Hello World! 2.4 Formatted output: No parking sign 2.5 Input and formatted output: Right-facing arrow 2.6 Input: Mad Lib 2.7 Warm up: Hello world 2.8 Warm up: Basic output with variables 2.9 Program: ASCII art




Module 3: Variables and Expressions


3.1 Divide by x 3.2 Driving costs 3.3 Expression for calories burned during workout 3.4 Expression for calories burned during workout 3.5 Using math functions 3.6 Phone number breakdown 3.7 Simple statistics 3.8 Input and formatted output: House real estate summary 3.9 Musical note frequencies 3.10 Input: Welcome message 3.11 Input: Mad Lib 3.12 Warm up: Variables, input, and type conversion 3.13 Program: Painting a wall




Module 4: Branches


4.1 Remove gray from RGB 4.2 Smallest number 4.3 Interstate highway numbers 4.4 Seasons 4.5 Exact change 4.6 Leap year 4.7 Warm up: Automobile service cost 4.8 Program: Automobile service invoice




Module 5: Loops


5.1 Convert to binary 5.2 Mad Lib - loops 5.3 Varied amount of input data 5.4 Count characters 5.5 Checker for integer string 5.6 Password modifier 5.7 Countdown until matching digits 5.8 Output range with increment of 10 5.9 Brute force equation solver 5.10 Warm up: Drawing a right triangle 5.11 Program: Drawing a half arrow




Module 6: Arrays


6.1 Output numbers in reverse 6.2 Middle item 6.3 Output values below an amount 6.4 Adjust list by normalising 6.5 Word frequencies 6.6 Contains the character 6.7 Elements in a range 6.8 Two smallest numbers 6.9 Remove spaces 6.10 Count input length without spaces, periods, or commas 6.11 Print string in reverse 6.12 Palindrome 6.13 Warm up: People's weights 6.14 Program: Soccer team roster




Module 7: User-Defined Functions


7.1 Miles to track laps 7.2 Step counter 7.3 A jiffy 7.4 Driving costs - functions 7.5 Swapping variables 7.6 Max magnitude 7.7 Flip a coin 7.8 Count characters - functions 7.9 Remove spaces - functions 7.10 Convert to binary - functions 7.11 Max and min numbers 7.12 Acronyms 7.13 Leap year - functions 7.14 Exact change - functions 7.15 Even/odd values in an array 7.16 Sort an array 7.17 Output values below an amount - functions 7.18 Adjust list by normalising - functions 7.19 Warm up: Text analyser and modifier 7.20 Program: Authoring assistant




Module 8: Structs


8.1 Warm up: Online shopping cart (Part 1) 8.2 Warm up: Online shopping cart (Part 2)




Module 9: Pointers


9.1 Warm up: Contacts 9.2 Program: Playlist




Module 10: Input / Output


10.1 Warm up: Parsing strings 10.2 Program: Data visualisation





Pricing

Each purchase comes with...

Practice questions

Highly effective reading materials

1 year access

Interactive figures & tables

Online lab environment (zyLabs)

What Our Students Say

“I really enjoyed zyBooks for use in my Python class. It has surely aided my success in class and helped me build some confidence in my first year at university.”
 

Isaac C.

Cal State University, Long Beach

Our Other zyBooks & Courses

The Programming in C zyBook will pair well with the following:

Frequently Asked Questions

PAYMENT

Will my course fee be subsidised?


No. If you wish to join a course with course fee support*, please check out our Wiley Certified Data Analyst and Unity Certified Associate courses. *Terms & Conditions apply.









CURRICULUM

I have no prior experience. Will I be able to understand the content taught in the zyBooks?


Yes. Unless otherwise specified, all zyBooks are beginner-friendly.




How much time do I have to spend to complete the course?


It depends on your learning style and speed. We estimate taking about 48 hours to read through the material and complete the interactive quizzes at regular speed. Each zyBook comes with 1 year access, and you should have more than enough time to complete and revise the material with regular reading.




Is there a certification examination?


No.





ZYBOOKS

What is a zyBook?


zyBooks are like interactive, digital textbooks. By incorporating available technology, zyBooks make learning fun, interactive and engaging – all while drastically reducing the time spent on reading long texts.




Why should I buy a zyBook instead of a regular textbook?


zyBooks comprise the same content as a textbook but with minimal text and maximum interactivity. Interactive charts and quizzes are strategically placed, allowing students to cement newly learnt concepts. Some zyBooks also come with zyLabs, which gives immediate feedback when used. This minimises the time spent on grading and rectifying mistakes.




Do all the zyBooks you offer come with zyLabs (the interactive lab environment)?


No. If zyLabs are included, it will be specified in the course page.




What is a zyLab?


zyLabs are online lab environments that are integrated into their respective zyBooks. Through zyLabs, you can practice your new skills and obtain immediate feedback and grades. No additional downloading of software required.





QUICK LINKS

Home

About Us

Courses

Subsidies

CONNECT WITH US

connect@geninfinitiacademy.com

+65 6909 1888

+65 6909 1889

Customer Service Hotline: +65 8660 4591

VISIT US

7 Jurong West Avenue 5

#02-01 Singapore 649486

Facebook logo leading to Gen Infiniti Academy's Facebook Page
Instagram logo leading to Gen Infiniti Academy's Instagram Page
YouTube logo leading to Gen Infiniti Academy's YouTube Channel
Telegram logo leading to Gen Infiniti Academy's Telegram group

© 2020 Gen Infiniti Academy  |  Privacy Policy  |  Terms of Service  |  Refund Policy