Home > Store > Programming > C/C++

Professional C Programming LiveLessons, (Video Training) Part I: Writing Robust, Secure, Reliable Code

Professional C Programming LiveLessons, (Video Training) Part I: Writing Robust, Secure, Reliable Code

Your browser doesn't support playback of this video. Please download the file to view it.

Downloadable Video

  • Your Price: $119.99
  • List Price: $149.99
  • About this video
  • Accessible from your Account page after purchase. Requires the free QuickTime Player software.

    Videos can be viewed on: Windows 8, Windows XP, Vista, 7, and all versions of Macintosh OS X including the iPad, and other platforms that support the industry standard h.264 video codec.

Register your product to gain access to bonus material or receive a coupon.

Buy Lessons

DRM-Free Video Downloads. Purchase and immediately download individual lessons from this video. Make your lesson selections below and click on the Buy button.

Videos can be viewed on: Windows 8, Windows XP, Vista, 7, and all versions of Macintosh OS X including the iPad, and other platforms that support the industry standard h.264 video codec. Requires the free QuickTime Player software.

Lesson 1

Lesson 1: Integer Types, Downloadable Version

In Integer Types you learn about the representation, ranges, behavior, and uses of essential integer types in the C programming language including: unsigned integers, signed integers, character types, size_t, ptrdiff_t, intmax_t, and uintmax_t.

Duration: 01:12:44  File Size: 223 MB

Lesson 2

Lesson 2: Integer Conversions, Downloadable Version

In Integer Conversions you learn the rules governing integer conversions in the C programming language and how the C language converts integers to unsigned and signed types.  Topics include; conversion rank, promotions, and the usual arithmetic conversions; conversions to unsigned types; and conversions to signed types.

Duration: 00:32:30  File Size: 95 MB

Lesson 3

Lesson 3: Integer Operations, Downloadable Video

In Integer Operations you learn the behaviors of common integer operators, how to avoid undefined behaviors, and how to program safely and securely in the presence of implementation-defined behaviors.  Topics include: assignment, addition and subtraction, multiplication and upcasting, division and remainder, and shifting.

Duration: 00:57:02  File Size: 173 MB

Lesson 4

Lesson 4: Characters, Arrays, and Strings, Downloadable Version

In Characters, Arrays, and Strings you learn about how strings are represented as null terminated character arrays in the C programming language.  You learn about properties of arrays, as understanding their behavior is critical to understanding C language strings.  You also learn about string literals and their use and idiosyncrasies in initializing arrays.  You also learn about the underlying (and undocumented) philosophy underlying the use of the character types in the C language.

Duration: 00:21:57  File Size: 68 MB

Lesson 5

Lesson 5: String Handling, Downloadable Version

In String Handling, you learn about the memory models available to C language programming as well as the advantages of bounds-checking interfaces over the standard C string handling functions defined in <string.h>.   Topics include: caller allocates, caller frees; bounds-checking interfaces; callee allocates and caller frees (POSIX).

Duration: 00:35:54  File Size: 120 MB

Lesson 6

Lesson 6: Optimization, Downloadable Version

In Optimization you learn what undefined behavior is, how the C standard identifies undefined behaviors in the language, and the latitude it grants to compilers in dealing with undefined behaviors.  You also learn about common compiler optimizations and how these optimizations can produce unexpected behaviors.   Topics include: undefined behaviors and the “as if” rule; constant folding; algebraic simplification and pointer arithmetic; hoisting of loop-invariant computations; dead-code removal; and aliasing.

Duration: 01:25:58  File Size: 247 MB

Your browser doesn't support playback of this video. Please download the file to view it.

Actual product comes full screen and in high resolution.

Your browser doesn't support playback of this video. Please download the file to view it.

Actual product comes full screen and in high resolution.

Your browser doesn't support playback of this video. Please download the file to view it.

Actual product comes full screen and in high resolution.

Your browser doesn't support playback of this video. Please download the file to view it.

Actual product comes full screen and in high resolution.

Your browser doesn't support playback of this video. Please download the file to view it.

Actual product comes full screen and in high resolution.

Your browser doesn't support playback of this video. Please download the file to view it.

Actual product comes full screen and in high resolution.

Description

  • Copyright 2013
  • Edition: 1st
  • Downloadable Video
  • ISBN-10: 0-13-312335-9
  • ISBN-13: 978-0-13-312335-7

15 Hours of Video Instruction

Professional C Programming LiveLessons, Part I: Writing Robust, Secure, and Reliable Code provides an in depth explanation of how to use common C language features to produce robust, secure, and reliable code.

Author, instructor and programmer, Robert C. Seacord created this video for developers who have previous experience 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.

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.   He is also 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.

Table of Contents:

Introduction

Lesson 1:  Integer Types
   Learning objectives 

   Introduction to integer types
   Unsigned integers  
   Signed integers 
   Character types 
   size_t, ptrdiff_t, intmax_t and uintmax_t 
   Summary

Lesson 2: Integer Conversions
   Learning objectives 

   Conversion rank, promotions, and the usual arithmetic conversions
   Conversions to unsigned types
   Conversions to signed types
   Summary

Lesson 3: Integer Operations
   Learning objectives

   Assignment 
   Addition and subtraction 
   Multiplication and upcasting 
   Division/remainder 
   Shifting 
   Summary

Lesson 4: Characters, Arrays, and Strings 
   Learning objectives 

   Sizing arrays 
   String literals and their use as array initializers 
   Character types and what they are used for
   Summary

Lesson 5: String Handling
   Learning objectives  

   Caller allocates, caller frees
   Bounds-checking interfaces
   Callee allocates, caller frees (POSIX)
   Summary

Lesson 6: Optimization 
   Learning objectives

   Undefined behaviors and the “as if” rule
   Constant folding
   Algebraic simplification and pointer arithmetic
   Hoisting of loop-invariant computations
   Dead-code removal
   Aliasing 

   Summary

Summary

LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include: IT Certification, Programming, Web Development, Mobile Development, Home & Office Technologies, Business & Management, and more.  View All LiveLessons http://www.informit.com/imprint/series_detail.aspx?ser=2185116

Updates

Submit Errata

More Information

ONE MONTH ACCESS!

WITH PURCHASE


Get unlimited 30-day access to thousands of Books & Training Videos about technology, professional development and digital media If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months.