Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

Overview

Professional C Programming LiveLessons, Part I: Writing Robust, Secure, and Reliable Code by Robert C. Seacord provides an in depth explanation of how to use common C language features to produce robust, secure, and reliable code. The video is designed for developers who have completed an introductory course in C language programming. In six lessons, Professional C Programming, Part I shows developers how to perform common C language programming tasks correctly while avoiding programming errors that are not always detected or reported by the compiler.

About the Author:

Robert C. Seacord is a computer security specialist and writer. He is the author of The CERT C Secure Coding Standard and Secure Coding in C and C++ as well as other books on computer security, legacy system modernization, and component-based software engineering. He has a Bachelor in computer science from Rensselaer Polytechnic Institute.

Robert C. Seacord leads the Secure Coding Initiative at CERT, located in Carnegie Mellon University’s Software Engineering Institute (SEI) in Pittsburgh, PA. Seacord is an adjunct professor in both the School of Computer Science and the Information Networking Institute at Carnegie Mellon University.

Seacord started programming professionally for IBM in 1982, working in communications and operating system software, processor development, and software engineering. Robert also has worked at the X Consortium, where he developed and maintained code for the Common Desktop Environment and the X Window System.

Seacord is a technical expert for the ISO/IEC JTC1/SC22/WG14 international standardization working group for the C programming language.

Subscriber Reviews

Average Rating: 5 out of 5 rating Based on 3 Ratings

No Subscribers have provided a review for this video.

Table of Contents

Chapter/Selection

Time

Introduction

Introduction to Professional C Programming LiveLessons

Play Video

00:03:31

Lesson 1: Integer Types

Learning Objectives

Preview

00:00:49

Introduction to integer types

Play Video

00:03:59

Unsigned integers

Preview

00:21:15

Signed integers

Preview

00:17:46

Character types

Play Video

00:07:25

size_t

Preview

00:13:46

ptrdiff_t, intmax_t and uintmax_t

Preview

00:04:42

Summary

Preview

00:01:19

Lesson 2: Integer Conversions

Learning Objectives

Preview

00:00:46

Conversion rank, promotions, and the usual arithmetic conversions

Preview

00:13:43

Conversions to unsigned types

Preview

00:08:04

Conversions to signed types

Preview

00:07:28

Summary

Preview

00:01:00

Lesson 3: Integer Operations

Learning Objectives

Preview

00:00:54

Assignment

Preview

00:11:49

Addition and subtraction

Preview

00:05:27

Multiplication and upcasting

Preview

00:13:57

Division and remainder

Preview

00:07:46

Shifting

Preview

00:14:05

Summary

Preview

00:01:26

Lesson 4: Characters, Arrays, and Strings

Learning Objectives

Preview

00:00:47

Sizing arrays

Preview

00:06:34

String literals and their use as array initializers

Preview

00:03:21

Character types and what they are used for

Preview

00:08:25

Summary

Preview

00:01:21

Lesson 5: String Handling

Learning Objectives

Preview

00:01:22

Caller allocates, caller frees

Preview

00:11:21

Bounds-checking interfaces

Preview

00:15:19

Callee allocates, caller frees (POSIX)

Preview

00:05:25

Summary

Preview

00:00:57

Lesson 6: Optimization

Learning Objectives

Preview

00:01:24

Undefined behaviors and the “as if” rule

Preview

00:05:38

Constant folding

Preview

00:03:47

Algebraic simplification and pointer arithmetic

Preview

00:10:56

Hoisting of loop-invariant computations

Preview

00:10:11

Dead-code removal

Preview

00:22:39

Aliasing

Preview

00:27:25

Summary

Preview

00:02:15

Summary

Summary of Professional C Programming LiveLessons

Preview

00:01:27

Extras

The publisher has provided additional content related to this title.


Description
Content

These files have been provided by the publisher.

  • Complete project source code files