C Programming is unfortunately unavailable

Thankfully we have 9 other Intro to Programming Classes for you to choose from. Check our top choices below or see all classes for more options.

Course Details
Price:
$2,795
Start Date:

This class isn't on the schedule at the moment, but save it to your Wish List to find out when it comes back!
If you're enrolled in an upcoming date, this simply means that date has now sold out.

Location:
Chelsea, Manhattan
(Exact location to be announced)
New York, New York
(Map)
Purchase Options
Save to WishList

4 people saved this class

Book Private Class
Description
Class Level: Beginner
Age Requirements: 18 and older
Average Class Size: 8

Flexible Reschedule Policy: This provider has flexible, free rescheduling for any-in person workshop. Please see the cancellation policy for more details

What you'll learn in this intro to programming class:

All HOTT courses are available face-to-face, remote-live, on-demand or on-site at your facility

You will learn all major programming language elements including fundamental data types, flow control, and standard function libraries.


Students Will Learn: 

  • Data Types, Storage Classes, & Scope 
  • Pointers, Arrays, and Dynamic Allocation 
  • Compiler Directives, Preprocessor, and Macros 
  • Operators and Expressions 
  • Functions and C Runtime Library 
  • Structures and Unions

This hands on C programming course provides a comprehensive introduction to the ANSI C language, emphasizing portability and structured design. Students are introduced to all major language elements including fundamental data types, flow control, and standard function libraries. Thorough treatment is given to the topics of string and character manipulation, dynamic memory allocation, standard I/O, macro definition, and the C runtime library. The course explains the use of aggregate structures, unions, and pointers early on so the students can practice extensively in the hands on labs. Structured programming constructs and varargs functions are also covered. Emphasis is given to the processing of command line arguments and environment variables so students will be able to write flexible, user-friendly programs. The course also includes coverage of portability tips drawn from experienced programmers working in production environments. Comprehensive hands on exercises are integrated throughout to reinforce learning and develop real competency.


Course Prerequisites: Understanding of fundamental programming concepts.



Course Overview

Overview of C

  • Operating System Independence
  • Design Goals and Capabilities
  • Flavors of C

Compiler Directives and the C

  • Preprocessor
  • Compile-Time Directives
  • Use of typedef
  • C Preprocessor Syntax

Fundamental Data Types, Storage Classes, and Scope

  • Fundamental Data Types and Qualifiers
  • Constants and Strings
  • Storage Classes
  • Scope and Block Structure
  • Scope and Data Hiding
  • Data Initialization

Pointers and Dynamic Allocation

  • Advantages of Pointers
  • User of Pointers
  • Pointer and Address Arithmetic
  • Dynamic Storage Allocation
  • sizeof Operator
  • Double Indirection

Macros

  • Functions vs. Inlining
  • Purpose of Macros
  • Use of Macros
  • - Making Code More Readable
  • - Auto Adjustment of Compile Time Values
  • - Conditional Compilation
  • - Making Code Portable
  • - Simplifying Complex Access Calculations
  • Advanced Micro Design Tips
  • Using Macros to Help Write Portable Programs
  • When to Use a Macro instead of a Function
  • Using Macros for Debugging

Arrays

  • Purpose of Arrays
  • Declaring an Array
  • Initializing an Array
  • Addressing Elements
  • Stepping Through an Array
  • Variable Size Arrays
  • Arrays of Pointers
  • Arrays of Strings
  • Passing an Array to a Function
  • Dynamic Memory Allocation
  • Multidimensional Arrays

Basic Formatted I/O

  • Standard I/O Library
  • Character Set Encoding
  • Standard Input and Output
  • Character I/O Functions
  • Formatted I/O Functions
  • String Constants

Program Debugging

  • Problem Analysis
  • Instrumenting with printif
  • Instrumenting with ctrace
  • The Purpose of Debuggers
  • How Not to Use Debuggers
  • Symbolic Debuggers

Operators and Expressions

  • Arithmetic, Logical, and Bit Operators
  • Precedence and Associativity
  • Assignment and Casting
  • The Conditional Operator

Flow Control Constructs

  • Conditional Constructs: if, switch
  • Looping Constructs: while, do, for
  • Programming Style

Functions (Subroutines)

  • Purpose of Functions
  • Functions vs. Inlining
  • Automatic Variables
  • The Argument Stack
  • Passing By Value
  • Passing By Reference
  • Declaring External Functions
  • Function Prototyping
  • ANSI Prototyping
  • The _NO_PROTO Compiler Symbol
  • Varargs Functions
  • Passing a Function as an Argument
  • Designing Functions for Reusability
  • Calling a Function from Another Language
  • Returning a Dynamically Allocated Value Using Double Indirection
  • Casting the Return Value of a Function
  • Recursion and Reentrancy

Structures

  • Purpose of Structures
  • Defining and Declaring Structures
  • Accessing Members
  • Pointers to Structures
  • Dynamic Memory Allocation
  • Passing a Structure to a Function
  • As a Pointer
  • Passing the Actual Structure

Advanced Structures and Unions

  • Nested Structures
  • Arrays of Structures
  • Bit Fields
  • Unions
  • Linked Lists

C Runtime Library Standard Functions

  • Character I/O
  • Unformatted File I/O
  • Formatted File I/O
  • Math Functions
  • Miscellaneous Functions

Strings and Character Manipulation

  • Strings as Character Arrays
  • String Library Functions
  • Reading and Writing Strings

Accessing Command Line Arguments and Environment Symbols

  • argc and argv
  • Parsing Command Line Options
  • Accessing the Environment Array

Structured Programming

  • Structuring Code for Quality, Reliability, Maintainability
  • Designing for Modularity and Reusability

Advanced Programming Consideration

  • Writing Portable Code
  • Use of Macros
  • ANSI C Limits
  • Feature Test Macros
  • Client/Server Design
  • Performance Considerations

Note: Classes do not have fixed location. Prior to each class they examine the geographical location of the enrolled students and then select a venue that will provide most convenient overall access for the students. Classes are held in hotel conference rooms and exact location is determined 2 weeks prior to the course date.


Still have questions? Ask the community.

Refund Policy
Tuition includes all course materials. Students may withdraw before the second day of class to receive a 100% refund, provided course materials are returned to the instructor. Prorated refunds may be granted for withdrawals after the first day.

Cancellations and Changes: There are no cancellation fees.

Attendance Requirements: Students must attend each day of a course and successfully complete hands on exercises in order to receive a certificate of completion. If a student wishes to retake any portion of a class that he or she completes, the student may do so within 12 months at no extra cost.

Intended Audience: Hands On Technology Transfer, Inc., provides IT training designed for technology professionals who wish to quickly upgrade their computer skills. In most states, the employer bears all training costs.

Map

Google Map

Hands On Technology Transfer, Inc.

All classes at this location

Start Dates (0)

This class isn't on the schedule at the moment, but save it to your Wish List to find out when it comes back!

Similar Classes

Benefits of Booking Through CourseHorse

Booking is safe. When you book with us your details are protected by a secure connection.
Lowest price guaranteed. Classes on CourseHorse are never marked up.
This class will earn you 27950 points. Points give you money off your next class!
Questions about this class?
Get help now from a knowledge expert!
Questions & Answers (0)

Get quick answers from CourseHorse and past students.

Reviews of Classes at Hands On Technology Transfer, Inc. (7)

School: Hands On Technology Transfer, Inc.

Hands On Technology Transfer, Inc.

HOTT delivers instructor-led technical training across the United States, Canada and the United Kingdom. Whether you attend in person, remote-live or on-demand, our classroom-based training philosophy zeroes in on your ability to work more productively and with higher quality results after training....

Read more about Hands On Technology Transfer, Inc.

CourseHorse Approved

This school has been carefully vetted by CourseHorse and is a verified NYC educator.

Want to take this class?

Save to Wish List
Booking this class for a group? Find great private group events here

9 Top Choices

Programming for Non-Programmers Bootcamp

This class is temporarily being offered remotely.

at General Assembly - Online Online Class
Livestream, New York, New York 00000

Are you a creative or entrepreneur that wishes you could speak tech with your web development team? Maybe you wish you could code a bit yourself? Programming for Non-Programmers is workshop series at General Assembly designed to help non-programmers communicate more efficiently with developers or to help aspiring developers get started. Session I:...

Saturday Jun 20th, 10am - 5pm Eastern Time

  (2 sessions)
$375

2 sessions

HTML & CSS Bootcamp: Learn To Code In One Day

This class is temporarily being offered remotely.

at General Assembly - Online Online Class Livestream, Chicago, Illinois 00000

HTML and CSS are the fundamental building blocks of the web. Whether you're a beginner who wants to get started in web development, a designer looking to hand-code their concepts, or a marketer who wants a little more control over their CMS, you'll need to know HTML and CSS to get the job done. This one day workshop is the quickest way to get started...

Tuesday Jun 2nd, 10am - 4pm Central Time

Coding Bootcamp

This class is temporarily being offered remotely.

at General Assembly - Flatiron 10 E 21st St 3rd Fl, New York, New York 10010

Interested in transitioning into a career in web development, software engineering and web design?  Thinking about enrolling in our Immersive Bootcamp? Want to start you own business and build a dynamic site to showcase your brand? Stop wasting another minute on lengthy online video training and get hands-on, 1:1 veteran instructor led training...

Saturday Jun 6th, 10am - 5pm Eastern Time

  (2 sessions)
$149

2 sessions

Programming for Non-Programmers Bootcamp

This class is temporarily being offered remotely.

at General Assembly - Online Online Class Livestream, Online, Massachusetts 00000

Are you a creative or entrepreneur that wishes you could speak tech with your web development team? Maybe you wish you could code a bit yourself? Programming for Non-Programmers is a workshop series at General Assembly designed to help non-programmers communicate more efficiently with developers or to help aspiring developers get started. Session...

Saturday Jun 20th, 10am - 5pm Eastern Time

  (2 sessions)
$375

2 sessions

Programming for Non-Programmers Bootcamp

This class is temporarily being offered remotely.

at General Assembly - Online Online Class Livestream, San Francisco, California 00000

The wellbeing of our employees, students, clients, instructors, and guests is our number one priority here at General Assembly. We are monitoring the Coronavirus situation very carefully and will be adjusting delivery of our programs. Due to the current health concerns in the greater San Francisco area, all GA short-form (one day) classes, workshops...

Saturday Jun 20th, 10am - 5pm Pacific Time

Introduction to Programming

This class is temporarily being offered remotely.

at New Horizons Learning Group LA - Anaheim 1900 S State College Blvd Ste 100, Anaheim, California 92806

In this 5-day course, students will learn the basics of computer programming through the use of Microsoft Visual Studio 2013 and either the Visual C# or Visual Basic programming languages. Who Should Attend This course is intended for anyone who is new to software development and wants, or needs, to gain an understanding of programming fundamentals...

Monday Jun 22nd, 6am - 2pm Pacific Time

  (5 sessions)
$2,975

5 sessions

Learning to Program with Java

This class is temporarily being offered remotely.

at Hands On Technology Transfer, Inc. - Chelsea (Exact location to be announced), New York, New York 00000

All HOTT courses are available face-to-face, remote-live, on-demand or on-site at your facility.  This hands on Java Programming course provides an introduction to programming using the Java language. Students are introduced to the application development cycle, structure of programs, and specific language syntax. The course introduces important...

Monday Jun 22nd, 9am - 5pm Eastern Time

  (5 sessions)
$2,795

5 sessions

HTML & CSS Bootcamp: Learn To Code In One Day

This class is temporarily being offered remotely.

at General Assembly - Online GA Washington D.C. (Remote Online), Washington, District of Columbia 00000

HTML and CSS are the fundamental building blocks of the web. Whether you're a beginner who wants to get started in web development, a designer looking to hand-code their concepts, or a marketer who wants a little more control over their CMS, you'll need to know HTML and CSS to get the job done. This one day workshop is the quickest way to get started...

Saturday Jun 27th, 11am - 6pm Eastern Time

HTML & CSS Bootcamp: Learn To Code In One Day

This class is temporarily being offered remotely.

at General Assembly - Online Online Class
Livestream, New York, New York 00000

HTML and CSS are the fundamental building blocks of the web. Whether you're a beginner who wants to get started in web development, a designer looking to hand-code their concepts, or a marketer who wants a little more control over their CMS, you'll need to know HTML and CSS to get the job done. This one day workshop is the quickest way to get started...

Saturday Jun 27th, 11am - 6pm Eastern Time