| | | Site Stats
Game | Food Drink | Leave Room | Classroom Tardy | Backpack | Music Cell |
Coding I Schedule | Coding I LogIn | Coding I Archive | Coding I Resources |
Coding II Schedule | Coding II LogIn | Coding II Archive | Coding II Resources |
APP schedule | APP LogIn | APP Archive | APP Resources |
CSF schedule | CSF LogIn | CSF Archive | CSF Resources |

Chapter 1


Chapter Overview

In this chapter, students review the history of computers and programming languages, including the evolution of C# and .NET. This chapter introduces data and describes how it is represented.  Primary types of hardware components are described; differing types of software are discussed.  This chapter explains the difference between structured and object-oriented programming and includes the software development methodology used throughout the remainder of the book.

Chapter Objectives

In this chapter, students will:

  • Learn about the history of computers
  • Learn to differentiate between system and application software
  • Learn the steps of software development
  • Explore different programming methodologies
  • Learn why C# is being used today for software development
  • Distinguish between the different types of applications that can be created with C#
  • Explore a program written in C#
  • Examine the basic elements of a C# program
  • Compile, run, build, and debug an application
  • Create an application that displays output
  • Work through a programming example that illustrates the chapter’s concepts




1.1 History of Computers 2

History of Computers

1.2. System and Application Software 4

System Software
Application Software

1.3. Software Development Process 6

Steps in the Program Development Process

1.4. Programming Methodologies 13

Structured Procedural Programming
Object-Oriented Programming

1.5. Evolution of C# and .NET 19

Programming Languages

1.6. Why C#? 23

Why C#

1.7. Types of Applications Developed with C# 24 

Web Applications
Windows Applications
Console Applications

1.8. Exploring the First C# Program 27

Exploring First C# Program

1.9. Elements of a C# Program 28

Using Directive
Class Definition
Main( ) Method
Method Body Statements

1.10. Compiling, Building, and Running an Application 38

Typing Your Program Statements
Compilation and Execution Process
Compiling the Source Code Using Visual Studio IDE

1.11. Debugging an Application 45

Syntax Errors
Run-time Errors

1.12. Creating an Application 47

Creating an Application

1.13. Coding Standards 52


1.14. Quick Review 53

Quick Review

1.15. Exercises 56

exercises A
exercises B

1.16. Programming Exercises 61



1.17. Vocabulary

odd stations
even stations

Key Terms

  • ASP.NET: a Microsoft programming framework that lets you create applications that run on a Web server and delivers functionality through a browser
  • abstracting out the attributes: determining the data characteristics associated with a class object
  • algorithm: a clear, unambiguous, step-by-step process for solving a problem
  • American Standard Code for Information Interchange (ASCII): character set that consists of the alphabet for the English language, plus numbers and symbols; the first 128 characters correspond to the Unicode character set
  • application software: programs developed to perform a specific task
  • assemblers: programs that convert the assembly programming language into native code
  • behaviors: processes on the data of a class
  • beta version: working version that has not been fully tested and may still contain errors
  • block comment: a comment that can span more than one line that is marked by a forward slash followed by an asterisk (/*) and ended with the opposite pattern (*/)
  • bugs: program errors
  • bytecode: Java’s intermediate language
  • C# (C sharp): One of the newer high-level programming languages that is part of the .NET paradigm
  • characteristics: attributes of a class
  • class: logical groupings of data and behavior members
  • class diagram: one of the primary modeling tools used by object-oriented programmers
  • COBOL (Common Business Oriented Language): a high-level programming language
  • Common Language Runtime (CLR): execution engine of .NET
  • compiler: program used to check to make sure there are no rule violations in the program statement  and then translates the instructions written in a high-level programming language into machine-readable format
  • console applications: display text on the command console display
  • constant: a data item that should keep the same value throughout the program
  • definition of the method: method heading along with the complete body of the method
  • desk check: mimicking the computer by walking through the program steps
  • divide and conquer: break the problem into subtasks
  • domain: range of the values for each input item
  • encapsulated: packaging of the characteristics and behaviors together to form a class
  • entity: a person, place, or thing
  • escape character: a special string combination that begins with the backslash; when used in combination with other characters, it has special meaning
  • FORTRAN (Formula Translator): a high-level programming language
  • Framework Base Classes: a collection of over 2,500 reusable types (classes) included as part of the .NET Framework
  • general-purpose computer: systems are electronic devices that process data and are composed of hardware and software
  • hardware: physical devices that you can touch
  • high-level languages: instructions written in English-like statements
  • identifier: the name given to a user-supplied or predefined entry
  • IL: when there are no rule violations, the compiler converts the source code into intermediate language; also called MSIL
  • information hiding: making the data member private and accessible to that class only
  • inheritance: way to define subclasses of data objects that share some or all of the parent’s class characteristics
  • in-line comment: one-line comment that is marked by two forward slashes (//) and ends when the enter key is pressed
  • instance: one example of the class
  • instantiate: create an instance of the class
  • instruction cycle: consists of fetching a program instruction from memory, decoding the instruction, executing it, and then storing the result in memory
  • Intermediate Language (IL): all languages targeting the .NET platform compile into this intermediate language
  • interpreters: check for rule violations line by line
  • iterative approach: an approach that involves going back to the analysis or design stage to make modification when problems are identified
  • Java: a high-level programming language introduced in 1995 that was originally called Oak
  • JITer: program that reads the intermediate language (IL) code and translates or produces the machine code that runs on the particular platform; after the code is translated in this second step, results can be seen
  • just-in-time (JIT) compilation: second step that is required before you see the results of the application; it converts the IL code to the platform’s native code
  • keywords: reserved words that have special predefined meanings
  • logic errors: errors that cause an abnormal termination of the program or just produce incorrect results
  • low-level programming languages: programming languages that are not considered close to the English language in terms of readability
  • main memory: a device that holds instructions and data; also called primary storage or random access memory
  • method: collection of one or more statements combined to perform an action
  • method invocation: call to a method
  • methodologies: approaches used to solve computer-related problems
  • Microsoft Intermediate Language (MSIL): when there are no rule violations, the compiler converts the source code into intermediate language; also called IL
  • multi-language independence: development of an application using a number of programming languages
  • multi-line comment: a comment that can span more than one line that is marked by a forward slash followed by an asterisk (/*) and ended with the opposite pattern (*/)
  • namespace: groups semantically related types under a single umbrella
  • native code: machine language code of a particular computer
  • .NET: an environment in which programs run that was designed to be a new programming paradigm
  • object: instance of the class
  • object-oriented analysis, design, and programming: focus is on determining the objects you want to manipulate rather than the processes or logic required to manipulate the data
  • object-oriented approach: the focus is on determining the data characteristics and the methods or behaviors that operate on the data
  • operating systems: types of programs that oversee and coordinate the resources on the machine
  • procedural programming: process-oriented approach that focuses on the processes that data undergoes from input until meaningful output is produced
  • programming language: used to write instructions for the computer
  • programs: sets of instructions telling the computer exactly what to do
  • prototype: mock-up of screens depicting the look of the final output
  • pseudocode: steps are written in “pseudo” or approximate code format, which looks like English statements
  • random-access memory (RAM): a device that holds instructions and data; also called main memory or primary storage
  • redistributable version: smaller download than the Software Development Kit and includes the CLR and class libraries
  • run-time error: form of logic error; run-time errors normally cause program crashes (stopping execution) and the reporting of error messages
  • scalable component development: segments of code, created as separate entities, that can be stored independently, combined, and reused in many applications
  • semantic meaning: specific way in which a program statement or keyword should be used
  • signature: the name of the method and its argument list
  • software: programs; the sets of instructions that make the hardware function
  • software maintenance: upgrade or change an application
  • source code: program statements written using a programming language
  • specifications: describes what the program should accomplish
  • stepwise refinement: refine the logic by dividing and conquering
  • syntax: the set of rules of the language that must be followed
  • test plans: plans for how the program will be tested to ensure its correctness
  • testing: the process of verifying the correctness of a program to ensure that you get consistently accurate results
  • top-down design: way to conquer each of the subtasks by further decomposing them
  • Visual Studio: An IDE that includes a suite of products including several programming languages, along with a large collection of development and debugging tools
  • Web Forms: ASP.NET programmable Web pages that serve as a UI for Web applications
  • Windows applications: applications designed for desktop single platform use
  • XML (Extensible Markup Language): language that provides a format for describing data using tags similar to HTML tags
  • XML documentation comments: comments that can be used to generate XML documentation file


Textbook Resources

Chapter 1 presentation

ppt | pptx | pdf


Coding Standards

Following coding standards when you design classes leads to better solutions and reduces the amount of time needed when you make changes to your program statements. Developing standards that you consistently adhere to increases coding efficiency.

Use verbs to indicate what type of actions should be performed.
Group items and add indentation


Current C# Language Specifications –

Visual C# Express download –

History of computing project –

Intel processor information –

Pascaline –

The Microsoft .NET Web site –

The MSDN Visual C# home page –

U.S. Census Data on Computer and Internet Use –

Mono cross platform open source .NET framework –

Microsoft Developer Network –


Updated: Friday, August 7, 2020 6:29 AM

About Us | Contact Us | ©2005