click below
click below
Normal Size Small Size show me how
Chapter 1
Introduction to Computers, the Internet and Visual C#
Term | Definition |
---|---|
Computer Programs | Computers process data under the control of sequences of instructions called computer programs |
Computer Programmers | People who specify actions that programs guide the computer through |
Software | Programs that run on a computer |
Object-Oriented Programming | Today's key programming methodology that's enhancing programmer productivity and reducing software development costs |
Software Objects | Model both abstract and real world things |
Hardware | Various devices a computer consists of, such as the keyboard, screen, mouse, hard disks, memory, DVD drives, and processing units |
1. Moore's Law | The remarkable trend in which every year or two, the capacities of computer hardware have approximately doubled inexpensively. Named after Gordan Moore, co-founder of Intel, the leading manufacturer of processors in today's computers and embedded systems |
2. Moore's Law | Such as smartphones, appliances, game controllers, cable set-top boxes, and automobiles |
1. Moore's Law and Related Observations Apply Especially to | 1. The amount of memory that computers have for running programs and processing data.. 2. The amount of secondary storage(such as hard disk storage) they have to hold programs and data over longer periods of time |
2. Moore's Law and Related Observations Apply Especially to | 3. Processor Speeds - the speeds at which computers execute their programs/do their work |
Data Hierarchy | Formed by data items processed by computers which become larger and more complex in structure as we progress from the simplest data items, such as characters, fields, and so on |
Bit | The smallest data item in a computer. Can assume the value of 0 or 1. Short for "Binary Digit" - a digit that can assume either of two values. Ex: 0 or 1 |
Characters | Digits(0-9), letters(A-Z and a-z), and special symbols($, @, %, &, *, (,), -, +, ", :, ?, and /). Composed of bits. Ex: 01001010 (ASCII character J) |
Computer's Character Set | The set of all the characters used to write programs and represent data items of that device |
Unicode Character Set | A character set that contains characters for many of the world's programming languages |
ASCII(American Standard Code for Information Interchange) Character Set | The popular subset of Unicode that represents uppercase and lowercase letters in the English alphabet, digits, and some common special charcters |
Fields | Just as characters are composed of bits, fields are composed of characters. Ex: Judy |
Records | Composed of several related fields. Ex: Judy Green |
1. Files | Groups of related records. More generally, a file contains arbitrary data in arbitrary formats. In some operating systems, a file is viewed simply as a sequence of bytes - any organization of the bytes in a file, |
2. Files | such as organizing the data into records, is a view created by the programmer. Ex: Sally Black, Tom Blue, Judy Green, Iris Orange, Randy Red |
1. Database | A collection of data that's organized for easy access and manipulation. Most popular database model is the relational database in which data is stored in simple tables. |
2. Database | For example, a table of students might include first name, last name, major, year, student ID number, and GPA. Data for each student is a record, and the individual pieces of information in each record are fields |
Input Unit | This "receiving" section obtains information(data and computer programs) from input devices and places it at the disposal of the other units for processing |
Output Unit | This "shipping" section takes information that the computer has processed and places it in various output devices to make it availabe for use outside the computer |
1. Memory Unity | This rapid- access relatively low-capacity "warehouse" sections retains information that's entered through the input unit, making it immediately available for processing when needed. |
2. Memory Unity | Also contains processed information until it can be placed on output devices by the output unit. Called memory or primary memory. Information in memory is lost when computer is turned off |
1. Arithmetic and Logic Unit(ALU) | This "manufacturing" section performs calculations, such as addition, subtraction, multiplication, and division. Also contains the decision mechanisms that allow the computer to compare two items from the memory unit to determine if equal |
2. Arithmetic and Logic Unit(ALU) | ALU is usually implemented as part of the CPU in today's systems |
1. Central Processing Unit | This "administrative" section coordinates and supervises the operation of the other sections. Tells the input unit when information should be read into the memory unit, tells the ALU when information from the memory unit should be used in calculations, |
2. Central Processing Unit | and tells the output unit when to send information from the memory unit to certain output devices |
Multi-Core Processor | Implements multiple processors on a single "microchip" - a dual-core processor has two CPUs and a quad-core has four |
Secondary Storage Unit | The long-term, high-capacity "warehousing" section. Programs or data not actively being used by the other units normally are placed in secondary storage devices(such as hard drive) until they're needed again. Information is persistent even after shutdown |
Machine Language | Any computer can directly understand its own machine language, defined by its hardware architecture. Generally consist of numbers, ultimately reduced to 1s and 0s. |
Code | Machine language numeric versions of instructions. Now refers to the program instructions in all levels of computer language |
Assembly Language | Based off of English-like abbreviations that represent elementary operations |
Translator Programs | Called assemblers. Convert assembly-language code into machine code quickly |
High-Level Languages | Developed to speed programming process even more than assembly language. In these languages, single statements can be written to accomplish substantial tasks and allow you to write instructions that look like everyday English and common math expressions |
Compiler | Translator programs that convert high-level language code into machine language code. Compilers can take long time |
Interpreter Programs | Developed to execute high-level language programs directly(without need for compilation), although more slowly than compiled programs |
Objects | Objects, or more precisely the classes objects come from, are essentially reusable software components. There are date objects, time objects, audio objects, people objects, etc. |
Methods | Performing a task in a program requires a method. The method houses the programming statements that actually perform the task. It hides these statements from its user |
Class | A program unit created to house the set of methods that perform the class's task. For example. a class that represents a bank account might contain one method to deposit money, another to withdraw, and a third to check balance. |
1. Making Objects from Clases | Just as someone has to build a car from its engineering drawings before you can drive it, you must build an object from a class before a program can perform the tasks that the class's methods define. This process is called instantiation. |
2. Making Objects from Clases | An object is then referred to as an instance of its class |
1. Messages and Method Call | When you drive a car, pressing its gas pedal sends a message to the car to perform a task - that is, go faster. Similarly, you send messages to an object. Each message is implemented as a method call that tells a method of the object to perform its task. |
2. Making Objects from Clases | For example, a program might call a particular bank-account object's deposit method to increase the account's balance |
1. Attributes and Instance Variables | A car, besides having capabilities to accomplish tasks, also has attributes, such as color, current speed, and amount of gas in its tank. These attributes are carried along with the car as you drive it. Every car maintains its own attributes. |
2. Attributes and Instance Variables | For example, each car knows how much gas is in its own tank, but not how much is in the tanks of other cars, An object, similarly, has attributes that it carries along as it's used in a program. These attributes are part of the objects class. |
3. Attributes and Instance Variables | Attributes are specified by the class's instance variables |
1. Encapsulation | Classes encapsulate attributes and methods into objects - an object's attributes and operations are intimately related. Objects may communicate with one another, but are not allowed to know how other objects are implemented. |
2. Encapsulation | Implementation details are hidden within objects. This information hiding is crucial for good software engineering |
Inheritance | A new class of objects can be created quickly and conveniently by inheritance - the new class absorbs the characteristics of an existing class, possibly customizing them and adding unique characteristics of its own |
1. Object-Oriented Analysis and Design(OOAD) | To create the best solutions for projects, you should follow a detailed analysis process for determining your project's requirements(defining what the system is supposed to do) |
2. Object-Oriented Analysis and Design(OOAD) | and developing a design that satisfies them(deciding how the system should do it). If this process involves analyzing and designing your system from an object oriented point of view, it's called an object-oriented analysis and design(OOAD) |
Object Oriented Programming(OOP) | Programming in an object oriented language, such as C#. Allow you to implement an object-oriented design as a working system |
The UML(Unified Modeling Language) | The most widely used graphical scheme for modeling object-oriented systems. Can communicate the result of any OOAD process |
Bandwidth | The information-carrying capacity of communications lines |
World Wide Web(Web) | A collection of hardware and software associated with the Internet that allows computer users to locate and view multimedia-based documents(documents with various combinations of text, graphics, animations, audios, and videos) on almost any subject |
.NET Framework Class Library | A vast collection of prebuilt classes that enable you to develop apps quickly.C# has access to this library |
Event-Driven Programming | C# is event driven. You'll write programs that respond to user-initiated events such as mouse clicks, key strokes, timer expirations, and touches and finger swipes - gestures commonly used on smarphones and tablets |
Visual Programming | Microsoft's Visual C# is a visual programming language - in addition to writing program statements to build portions of your apps, you'll also use Visual Studio's graphical user interfaces(GUI) to conveniently drag and drop predefined objects into screen |
Synchronous Programming | A style of programming in which each task in a program must finish executing before the next task can begin |
Asynchronous Programming | A style of programming in which multiple tasks can be performed at the same time |
Microsoft's .NET Initiative | A broad vision for using the Internet and web in the development, engineering, distribution, and use of software. .NET allows you to create apps in any .NET compatable language |
.NET Framework | Executes apps and contains the .NET Framework class library, which provides many capabilities that you'll use to build substantial C# apps quickly and easily |
Common Language Runtime(CLR) | Another key part of the .NET Framework. Executes .NET programs and provides functionality to make them easier to develop and debug |
Virtual Machine(VM) | Software that manages the execution of programs and hides from them the underlying operating system and hardware. The CLR is a VM |
1. Managed Code | The source code for programs that are executed and managed by the CLR. The CLR provides various services to managed code, such as integrating software components written in different .NET languages, error handling between such components, |
2. Managed Code | enhanced security, automatic memory management and more |
Unmanaged-Code Programs | Do not have access to the CLR's services, which makes it more difficult to write |
1. Managed Code is Compiled Into Machine-Specified Instructions in the Following Steps | 1. First the code is compiled into Microsoft Intermediate Language(MSIL). Code converted into MSIL from other languages and sources can be woven together by the CLR - this allows programmers to work in their preferred .NET language |
2. Managed Code is Compiled Into Machine - Specified Instructions in the Following Steps | 2. When app executes, another compiler(known as the just-in-time compiler or JIT compiler) in the CLR translates the MSIL in the executable file into machine-language code(for a particular platform).. 3. The machine-language code executes off platform |
Platform Independence | The ability of a program to run without modification across multiple platforms. IF the .NET Framework exists and is installed for a platform, that platform can run any .NET program |
Porting | Converting programs to different platforms |
Operating Systems | Software systems that make using computers more convenient for users, developers, and system administrators. They provide services that allow each app to execute safely, efficiently, and concurrently(in parallel) with other apps |
Windows Phone 8 | A pared down version of Windows 8 designed for smartphones. These are resource-constrained devices - they have less memory and processor power than desktop computers, and limited battry life |
Cloud Computing | Allows you to used software and data stored in the "cloud" - accessed on remote computers(or servers) via the Internet and avaialable on demand - rather than having it stored on your desktop, notebook computer, or mobile device |
Integrated Development Protocol(IDE) | C# programs are created using Microsoft's Visual Studio - a collection of software tools. Visual Studio 2012 Express IDE enables you to write, run, test, and debug C# programs quickly and conveniently |
Transmission Control Protocol(TCP) | Ensures that messages, consisting of sequentially numberd pieces called packets, were properly routed from sender to receiver, arrived intact and assembled in the correct order |