Revision: TE6501_20120203

Adobe Acrobat Reader icon (8.0 KB) View, Download, or Print Course as a PDF.

Course Length:
3 Days
Course Description:
This class has a wealth of knowledge that aspiring programmers need to master before tackling their first programming language. This course consists of topics such as: hardware and software components of a computer system, the CPU, registers, operating systems, processes, number systems, data type formats, conversions among number bases, logic and reasoning, flow charting, pseudo code, control structures, differentiation among programming languages, from machine language to assemblers and compilers, data structures, libraries, networking, web programming, and a host of other topics. After learning the fundamentals, students will be given a chance to show their knowledge by writing some simple to intermediate programs in the C Programming Language.
Who Should Attend:
This course is intended as a prerequisite for anybody who wishes to become a programmer or who needs to know key programmer issues and who does not have the necessary background for such an undertaking. It is also ideal for those who wish to begin a programming career or for those web designers who wish to add a programming component to their skills. This course is also intended for those tasked with managing programmers despite having no programming experience. Likewise, testers will gain invaluable experience from the subject matter in this course.
Benefits of Attendance:
Upon completion of this course, students will be able to:
  • List the major components of a computer system.
  • Differentiate between various kinds of computer storage.
  • Distinguish between system software and application software.
  • List the steps in the instruction/execution cycle.
  • Differentiate between various kinds of programming language translators and programming paradigms.
  • Convert from and to the following bases: binary, octal, decimal, and hexadecimal.
  • Demonstrate how negative numbers are stored in memory.
  • Demonstrate how various data types are stored in memory.
  • State the difference between a program and a process.
  • Use various graphical techniques, such as flow charting and pseudo code, to specify the logic of a program.
  • Read BNF notation that describes correct grammar for a programming language.
  • Write C programs that use conditionals and loops.
  • Demonstrate the benefits of using functions.
  • Understand the relationship between arguments and parameters.
  • Effectively use arrays and strings in C.
  • Build and use static libraries in C.
  • Discern the various interfaces in launching programs.
Prerequisites:
There are no prerequisites for this course.
Course Outline:
  • Chapter 1: Introduction
    1. Introduction
    2. What is a Computer System?
    3. Input Units
    4. Output Units
    5. Memory
    6. Central Processing Unit
    7. Components of the CPU
    8. Instruction Execution Cycle
    9. Cache
    10. Software
    11. Functions of an Operating System
    12. Loading the Operating System
    13. Loading an Application Program
    14. Timesharing
  • Chapter 2: Programming Languages
    1. Introduction
    2. Machine Language
    3. Assembly Language
    4. Compilers
    5. BNF
    6. Language Classification
    7. Procedural vs. Object Oriented
    8. Static vs. Dynamic Typing
    9. Scripting vs. Non-Scripting
    10. Choosing a Programming Language
  • Chapter 3: The Programming Cycle
    1. The Software Development Cycle
    2. The Programming Cycle - Overview
    3. Edit
    4. Compile
    5. Execute
  • Chapter 4: Number Systems and Data Types
    1. Number Bases
    2. Base 10
    3. Base 2
    4. Base 8 and Base 16
    5. Conversion Between Number Bases
    6. Relationships Between Number Bases
    7. Data Types
    8. Negative Numbers
    9. Sign Magnitude
    10. Complement Arithmetic
    11. Floating-Point Values
    12. String Data
    13. Data Types in C
  • Chapter 5: Programming Skills
    1. Spoken Languages vs. Programming Languages
    2. Programming Skills
    3. Problem Solving
    4. Mathematics
    5. Flow Charting
    6. Pseudo Code
  • Chapter 6: Fundamentals of C - Part 1
    1. C Data Types
    2. Variables
    3. printf
    4. Arithmetic Operators
    5. Control Flow - Decisions
    6. Relational Operators
    7. Control Flow - Loops
    8. The while Loop
    9. The for Loop
    10. for Loop vs. while Loop
  • Chapter 7: Fundamentals of C - Part 2
    1. Simple Conditions
    2. Compound Conditions
    3. Operators
    4. Truth Conditions
    5. Logical and Operator
    6. Logical or Operator
    7. Logical not Operator
    8. Loop Considerations
    9. exit
    10. break
    11. continue
  • Chapter 8: Using Functions in a C Program
    1. Introduction
    2. Abstraction
    3. Functions
    4. Arguments and Parameters
    5. return Statement
    6. Using a Function
    7. Some Coding Techniques
  • Chapter 9: Arrays
    1. Arrays vs. Non-Array Variables
    2. Arrays
    3. Array Subscripts
    4. Iterating Through an Array
    5. Finding a Value in an Array
    6. Finding the Largest Value in an Array
  • Appendix A: User Interfaces
    1. Interfaces
    2. Character Based - Command Line
    3. Character Based - Interactive
    4. Graphical User Interfaces
    5. Client/Server Computing
    6. The Client
    7. The Server
    8. Running the Client/Server Application
    9. Web Based Applications
  • Appendix B: Creating Libraries
    1. Creating Libraries
    2. Using Libraries
  • Appendix C: Strings in C
    1. Character Arrays
    2. String Input Functions
    3. How String Functions Work
    4. Other String Functions
    5. String Output Functions
    6. Handling the End of File
    7. Converting a String to a Number