Aspire Journeys

C Programming Proficiency

  • 14 Courses | 19h 13m 33s
  • 1 Lab | 4h
Rating 4.2 of 6 users Rating 4.2 of 6 users (6)
C is a general-purpose, structured programming language that allows maximum control with minimal commands. C is one of the easiest languages to learn The significant advantage of the C language is the performance it offers, which makes it suitable for system programming. For a long, system programming and embedded programming space have been dominated by languages like C. Concepts and understanding of C lays the foundations to begin one's career in the world of IT Programming. Even if the modern programming languages have impacted the position of the C language, it still continues for a longer period of time. The C Programming Proficiency journey facilitates the learners to understand the procedural/functional programming model. The first track of this journey focuses on the fundamentals of C where the learners will get familiar with the language features and syntax. The next track leads the learners toward building the logical programs using control structures which then enables them to explore the functional programming aspects of the C language. The journey concludes with an exploration of advanced topics of C like File Handling, Preprocessor directives, type conversions

Track1 : Getting familiar with C

In this Skillsoft Aspire track of the C Programming Proficiency journey, the focus is on the fundamentals of C where the learners will get familiar with the language features and syntax.

  • 3 Courses | 3h 45m 2s

Track2: Logical Programming in C

In this Skillsoft Aspire track of the C Programming Proficiency journey, the focus is on building the logical programs using control structures.

  • 2 Courses | 3h 56m 42s

Track3: Efficient Programming in C

In this Skillsoft Aspire track of the C Programming Proficiency journey, the focus is on the functional programming aspects of the C language. 

  • 5 Courses | 6h 39m 52s

Track4: Professional Programming in C

In this Skillsoft Aspire track of the C Programming Proficiency journey, the focus is on advanced topics of C like File Handling, Preprocessor directives, type conversions.

  • 4 Courses | 4h 51m 57s
  • 1 Lab | 4h

COURSES INCLUDED

Fundamentals of the C Language: Getting Started
The C programming language has retained its relevance for close to 50 years. The code for most major operating systems and performance-critical server code in some leading data solutions continues to be written in the C language. In this course, you will begin by learning about the basic properties of C, the compilation process of the C language, and common IDEs used to write C code. Next, discover how to install the Clang compiler for compiling and running C on Mac and the Visual Studio Code IDE to write C code. Next, set up the minGW compiler for C on Windows. Finally, explore the basic syntax of C code, write and compile code and view its results, and explore the warnings and errors that occur when the syntax is violated.
12 videos | 1h 23m has Assessment available Badge
Fundamentals of the C Language: Variables & Datatypes
The C programming language is statically typed, which means that all variables have an associated type specified in the code. The C compiler will rigorously check that values stored in these variables match the declared types. In this respect, C differs from popular languages such as Javascript and Python where the types of variables can be inferred at runtime. You will start this course by learning the basics of variables in C. Learn about the data types that can be stored in those variables and how to use arithmetic operators to perform mathematical operations between literals and on variables. Discover basic arithmetic operators, then progress to unary and assignment operators. Finally, explore relational and logical operators in C and discover how to use relational operators to compare two numbers, and logical operators such as AND, OR, and NOT to combine predicates.
13 videos | 1h 34m has Assessment available Badge
Fundamentals of the C Language: Arrays, Accepting Input, & Returning Output
Arrays in C are important data structures that provide a convenient way to access multiple elements of the same data. C arrays are indexed using integers starting from 0 and reside in a contiguous chunk of memory. Arrays are also closely related to pointers, another important building block in the C language. Start this course by learning how to create, populate, and access elements of arrays. Discover how to declare variables of array types, initialize those arrays with data, and get and set the values of elements of arrays. Create multidimensional arrays and work with strings as arrays of characters. Next, learn how to print values using output functions such as printf, putchar, puts, and fprintf. Explore the different format specifiers used to represent data types in printf and how to enumerate the strengths and weaknesses of these different output functions. Finally, learn about accepting user input using library functions such as scanf, gets, fgets, and getchar.
8 videos | 47m has Assessment available Badge

COURSES INCLUDED

Control Structures in C: Getting Started with Control Structures
A control structure in C is any code construct that changes the flow of control, such as the order of execution in a program. The three main types of control structures in C are decision-making control structures, looping control structures, and unconditional control structures. Decision-making control structures include if-else blocks and switch statements. You will start this course by working with the if statement control structure. This checks whether a condition is satisfied or not, and returns an output based on that. You will then use the if-else-if ladder to create multiple conditions that will be checked in order. The code block associated with the first condition that is satisfied will be executed, and subsequent conditions will not even be checked. Finally, you will learn about the ternary operator, which makes use of the ? and : symbols to create an if-else block and store the result in a variable. Upon completion of this course, you'll be able to work with control structures to change the flow of execution of a C program, use if and else conditions, and employ the ternary operator in assignments and expressions
17 videos | 1h 54m has Assessment available Badge
Control Structures in C: Looping & Unconditional Control Structures
The three main types of looping control structures in C are for loops, while loops, and do-while loops. This course provides demos for how to work with looping and unconditional control structures in C. You will begin by creating a for loop which iterates over a block of code for as long as a certain condition is true. You will then experiment with the loop condition, the value of the loop variable, and the update expression for the loop variable, before moving on to iterating over arrays using for loops. You will also create nested for loops. Next, you will use while loops to execute some code while a condition is satisfied. You will explore the loop variable and iterate over arrays, then move on to do-while loops. Finally, you will learn about the unconditional control structures such as break, continue, goto, and return keywords. These are typically used with other control structures. After completing this course, you'll be able to implement while loops, for loops, do-while loops, break statements, and continue operators.
17 videos | 2h 2m has Assessment available Badge

COURSES INCLUDED

Functions and Memory in C: Getting Started with Functions
In C, as in other programming languages, the term function refers to a named and parameterized block of code that can be invoked repeatedly. Functions allow monolithic programs to be split into modular chunks, greatly facilitating code reuse and simplifying and improving the logical structure of programs. Explore C functions and learn how they are defined, declared, and invoked. Next, move on to built-in functions and discover how to convert strings to integers, floats, or longs. Then, you will create your own functions to accept input arguments from and return output to the invoker of the function. Finally, you will study the difference between the declaration and the definition of a function. After completing this course, you'll be able to define and invoke functions, understand implicit and explicit function declarations, and use both library functions and user-defined functions.
9 videos | 56m has Assessment available Badge
Functions and Memory in C: Using Variable Scopes, Storage Classes, & Structs
A vital part of programming is being able to reuse codes in an efficient and effective way. Using variable scopes, storage classes, different user-defined types like structs, unions and enums allow programmers to scale their programs and create meaningful structures. Begin by exploring variable scope and learn how to input argument scoping and redefine variables. Discover how to work with storage classes and access them in file scope, local scope, and across files. Finally, take a look at different user-defined types in C. Upon completion of this course, you will be able to confidently leverage variable scopes and storage classes to define values, scope, and visibility.
14 videos | 1h 31m has Assessment available Badge
Functions and Memory in C: Getting Started with Pointers
One of the main reasons C retains its relevance after 50 years is the level of interaction between the programmer and the memory which C allows for. While more modern languages such as Python manage the memory under-the-hood, C allows the user to control all aspects of memory management. At the heart of C's memory management capabilities lie pointers. Begin this course focusing on memory allocation layout and the concepts of stack and heap memory. Then, explore pointers to learn how to view the memory location referenced by the pointer and how to dereference a pointer to view the data at the referenced address or modify data stored at the memory location being pointed to. Finally, use the NULL keyword as both a value and a pointer to the non-existent memory address of 0. Upon completion of this course, you'll be able to use referencing and dereferencing operators in C and properly test for and use NULL values.
11 videos | 1h 20m has Assessment available Badge
Functions and Memory in C: Leveraging Pointers with Arrays & Functions
Pointers are some of the most important building-blocks of C and are used with a variety of data types. In particular, pointers have a special relationship with arrays, because an array is effectively a pointer to a contiguous block of memory used to hold elements of a specific type. In this course, you will create both arrays and pointers to those arrays. Next, take a deeper dive into the nuances of arrays and pointers and discover how to use pointer arithmetic as a method of viewing array elements. Finally, explore passing pointers and arrays into functions. After completing this course, you'll be able to leverage the equivalence between pointers and arrays, use pointer arithmetic, and return pointers from functions.
11 videos | 1h 19m has Assessment available Badge
Functions and Memory in C: Allocating Memory on the Heap
C programmers can commonly use two kinds of memory: stack and heap. While stack memory is used to store local variables and is fully managed by C, it does have major limitations that are mitigated by heap memory. In this course, you will compare stack and heap memory, exploring the advantages and limitations of each. Then, you will allocate memory using the malloc() function and deallocate memory using free(). Next, you will examine dangling memory issues that can cause potentially dangerous security issues. You will also explore other common allocation functions like calloc() to zero out memory and realloc() to help when you underestimate how much memory an array will require. Finally, you will focus on pointers to struct objects. After completing this course, you'll be able to allocate memory malloc, calloc, and realloc; free memory; use pointers to structs; and avoid problems related to dangling pointers and memory leaks.
11 videos | 1h 32m has Assessment available Badge

COURSES INCLUDED

Advanced Topics in C: Getting Started with File Handling
File handling is an integral part of many medium-to-large-scale programs in C. Files are the most convenient way of managing data for the wide range of programs of this size. You will start this course by considering the advantages of using files in C and the most important functions for file handling, which are fopen() and fclose(). Explore the modes that fopen() can be used with and read and write data to text files. Begin by reading in individual characters with the fgetc() function, whole strings from a file using fgets(), and structured data with the fscanf() function. Discover how to use the r+, a+, and w+ modes, before turning to writing structured data using the fprintf() function. Next, learn how to read and write binary data by leveraging the fread and fwrite functions and the wb and rb modes. Finally, you will perform file seek operations using the functions fseek, ftell, and rewind to control the position your program is operating on in the file stream.
18 videos | 2h has Assessment available Badge
Advanced Topics in C: Managing Code Compilations Using Preprocessor Directives
One of the key attractions of C is the low-level control it gives us over its compilation process. Indeed, the C language allows us to control the compilation of a program to a level unmatched by other languages such as Java. You will start this course by learning the compilation process of C which includes four main steps: preprocessing, compiling, assembling, and linking. Once you grasp the output of each step in the compilation process, move on to investigating preprocessor directives. Next, use conditional preprocessor directives including #if, #elseif and #endif. Finally, discover how to issue instructions to the compiler using pragmas, upgrade a warning to a regular error, and convert a warning to an extremely severe fatal error. After completing this course, you'll be able to list the steps for compiling a C program including creating macros with preprocessor directives, control conditional compilation, and use pragmas to alter compiler settings.
10 videos | 1h 5m has Assessment available Badge
Advanced Topics in C: Using Strings, Header Files, & Type Conversions
Strings are the most fundamental way of representing text in any programming language. In C, they take the form of character arrays, delimited with a special character. Because of the equivalence between arrays and pointers in C, strings can also be represented using character pointers. Start this course by creating strings as arrays of characters, observing that the end of a string is delimited using the \0 character. Discover how strings are stored in character pointers and iterate over strings with pointer arithmetic and use the strlen(), strcpy(), strcmp() and strcasecmp() functions. Next, learn how to create header files and use the #include preprocessor directive to pull in both system and user-created header files. Explore type conversions and learn about implicit conversions. Finally, explore command line arguments including the use of argc and argv, and how these can be used in your C programs. Upon completion, you'll be able to to work with C strings using character arrays, library functions, and header files, perform type conversions, and use command line arguments in C programs.
15 videos | 1h has Assessment available Badge
Final Exam: C Programming Proficiency
Final Exam: C Programming Proficiency will test your knowledge and application of the topics presented throughout the Skillsoft Aspire C Programming Proficiency Journey.
1 video | 32s has Assessment available Badge

EARN A DIGITAL BADGE WHEN YOU COMPLETE THESE TRACKS

Skillsoft is providing you the opportunity to earn a digital badge upon successful completion on some of our courses, which can be shared on any social network or business platform.

Digital badges are yours to keep, forever.