Part I. Chapter 1. Introduction (20 points –approximately) Object

advertisement
Part I. Chapter 1. Introduction (20 points –approximately)
Object-Oriented Programming
●
Describe the fundamental components of objects.
something with identifiable features that may be manipulable
attributes and methods
●
Explain how these components relate to your program (see Figure1-3)
define abilities of different
● Be able to identify and explain how event-handlers work
Hardware Fundamentals
●
Identify key persons in the history of computer science and what they accomplished
{
Joseph Marie Jacquard - automated loom via punch cards - 1801
Charles Babbage - Father of Computers - ideas of 5 component computers - 1840
Ada Lovelace - First computer programmer - 1840
Konrad Zuse - inventor of binary programmable Z3 computer - 1940
John Vincent Atanasoff & Clifford Berry - inventors of binary programmable ABC computer
Alan Turing - Turing Machine - logic ideas for solving problems
}
●
List the characteristics of the first generation of hardware
ENIAC, vacuum tubes
●
List the characteristics of the second generation of hardware.
Transistors
●
List the characteristics of the third generation of hardware
Integrated Circuit
●
List the characteristics of the fourth generation of hardware
Microprocessors
Software Fundamentals
●
Be able to define what system software is and be able to give examples
Operating system, Windows, UNIX, OSX, manages files
●
Describe what applications software is and give examples
What runs on OS. MS Office, games
●
Be able to describe the relationship between hardware, system software and
applications software
Application software runs on system software, which runs on hardware
History of Software Development
●
Explain the difference between machine language, assembly language and a high-level
language
Machine language, 0 or 1, runs directly on hardware
Assembly language, set of short commands standing for complex machine
High-level language, English-based, form varies depending on language
●
Give examples of high-level languages
C/C++/VC++, Pascal
●
Be able to describe the relationship between hardware, system software and
applications software
Application software runs on system software, which runs on hardware
The Programming Process
●
Explain how the programming process works
Source Code runs through compiler then creates object code
●
Define and identify source code and object code
source code is what you type in, this would be in English; object code would be the 0 and 1’s that the
computer reads.
●
Explain the role and importance of the compiler
This changes the source code to object code, making life easier for the normal person because they
understand English better than 0 and 1, computer languages.
Types of Errors
●
●
●
Identify and explain what syntax errors are and how they may be fixed
●
Describe the project development cycle
Identify and explain what logic errors are and how they may be fixed
Identify and explain runtime errors are and how they may be fixed
A Project Development Strategy
Problem Analysis -> Design -> Development -> Testing -> Problem Analysis
●
Identify the main tasks that are addressed in the problem analysis stage
Problem is described so that it can be solved
●
Identify the main tasks that are addressed in the design stage
Describe in detail specific solutions to the problem
may include lists of critical info and detailed list of instructions
●
Identify the main tasks that are addressed in the development stage
Take design information and produce computer program
●
Identify the main tasks that are addressed in the testing stage
Test whether or not the program is completed according to design specifications
The Visual Studio IDE
●
B,e able to identify the main components of the Visual Studio IDE
Menu Bar on top, Toolbar with stuff like “New Program” and “Save”, Design window tab, Toolbox,
Properties window, Form Layout, Solution Explorer
●
Be able to explain what each statement in your first project did
●
Be able to write code similar to that used in your first project
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
//Change colors to Green
textBox1->Text = "Hello World!";
textBox1->BackColor = Color::LightGreen;
textBox1->ForeColor = Color::Green;
this->BackColor = Color::Green;
button1->BackColor = Color::Green;
}
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
//Change colors to Red
textBox1->Text = "Hello World!";
textBox1->BackColor = Color::Pink;
textBox1->ForeColor = Color::Red;
this->BackColor = Color::Red;
button2->BackColor = Color::Red;
}
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {
//Change colors to Yellow
textBox1->Text = "Hello World!";
textBox1->BackColor = Color::LightYellow;
textBox1->ForeColor = Color::Yellow;
this->BackColor = Color::Yellow;
button3->BackColor = Color::Yellow;
}
private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {
//Change colors to Blue
textBox1->Text = "Hello World!";
textBox1->BackColor = Color::LightBlue;
textBox1->ForeColor = Color::Blue;
this->BackColor = Color::Blue;
button4->BackColor = Color::Blue;
}
private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) {
//Change colors to original colors - i.e. clear
textBox1->Text = "";
textBox1->BackColor = Color::White;
textBox1->ForeColor = Color::Black;
this->BackColor = System::Drawing::SystemColors::ControlLight;
button1->BackColor = System::Drawing::SystemColors::ControlLight;
button2->BackColor = System::Drawing::SystemColors::ControlLight;
button3->BackColor = System::Drawing::SystemColors::ControlLight;
button4->BackColor = System::Drawing::SystemColors::ControlLight;
button6->BackColor = System::Drawing::SystemColors::ControlLight;
}
private: System::Void button6_Click(System::Object^ sender, System::EventArgs^ e) {
//Change colors to Orange
textBox1->Text = "Hello World!";
textBox1->BackColor = Color::Orange;
textBox1->ForeColor = Color::OrangeRed;
this->BackColor = Color::OrangeRed;
button6->BackColor = Color::OrangeRed;
}
Part II. Chapter 2. Reading, Processing, and Displaying Data (15 points – approximately)
Solving Problems
Be able to define the terms algorithm and pseudocode and know how they are related
Know the difference between high-level and low-level algorithms
An algorithm is numbered steps that need to occur in a program
Pseudocode is English-based and can be converted to any general coding language. Also known as
false-code
Data and Data Types
●
Be able to identify and describe the primitive data types (bool, char, int, float, double)
bool - True false, char - character/symbols, int - integers, float - number for storing decimal numbers,
double - a long number.
●
Be able to identify and describe the String data type
a string of characters, a word “word”
●
Explain what a variable is
a location in the computer’s memory, comprised of one or more memory cell, used to store data
●
Explain what happens when a variable is declared
finds space in the computer’s memory that has not been allocated for any other purpose and reserves it
in the name and the data type that you designated.
●
Write code declaring variables of primitive types
int bullshit = 5;
●
Explain how variables are initialized using the assignment operator
variable assigns value (bullshit) variable (=) assigns (5) value
Data Input
●
Explain the relationship between the interface and variables (Figure 2-5)
The user enters a value in the interface, say a textbox on the interface; the entered data is recorded in
memory as a string, which is different than a numerical variable
●
Describe what the TryParse() statement does
It looks through a string of characters for numbers and converts it to a variable
●
Identify and explain each part of TryParse() statement syntax
First you have to specify the type of variable that you are trying to parse, such as Int32, Float, Double,
etc.
:: follows the Class of variable, called the scope resolution operator. it states that the TryParse function is
inside the class of the variable type
Data Processing
●
List the arithmetic operators and describe their function
+,-,/,*,%
●
Explain the concept of precedence
order of operation
●
●
Be able to resolve complex arithmetic expressions by drawing an expression tree
●
Explain and be able to code shorthand operators
Identify and explain the concatenation operator
+
bullshit += 2
●
Describe how complex mathematical functions may be called
Math::Pow()
Data Output
●
Describe why the .ToString() method is important and how it works
Converts solid numbers to a string of characers
●
Be able to write code to display the contents of variables in textboxes on the interface
textBox1->Text = “Hello World”;
Part III. Chapter 3. Integral Data (15 points– approximately)
The Binary Number System
●
Be able to explain the binary number system
The binary number system is a base 2 , or 0 and 1
101 - base 2
1*(2^2) + 0*(2^1) + 1*(2^0) = 5 - base 10
●
Define bytes, bits and explain how they are used to represent integers
a single 0 or 1 is a bit, 8 bits in a byte
an 8 bit, or single byte can represent ASCII values for strings or integers
Integral Data Types
Explain the relationship between integers and characters in terms of
●
storage required
characters are stored in an eight-bit byte (decimal integers 0-255) whereas integers are stored in 32-bits,
or four bytes
●
binary representation
the representation of the decimal number 65, which is the ASCII number for A, can be stored in an
integer, which is 00000000 00000000 00000000 01000001, whereas the same thing can be stored as
char data as just
--------------------------------------------- 01000001
●
assignment of data of one type to another
character has 8 bits while num uses entire space for the number
00000000 compared to 00000000 00000000 00000000 00000001
Data Type Conversion
●
Define “explicit type conversion” and give examples of two statements that do this
convert input data into a defined variable
textBox1->Text = Convert::ToString()
●
Define implicit type conversion and give examples
within the program it changes the variable type
int bullshit = 3;
double haha = (double) bullshit;
●
Explain the data type hierarchy
Smallest to largest; Boolean, character, Integer, float, double
●
Contrast data type promotion with data type demotion. Which is safest and why?
demotion condenses the amount of space, promotion increases the space for the variable, the safest one
is promotion.
Integer Arithmetic
●
Explain what integer division is, when it occurs and why it is important
an integer divided by an integer creates an integer 7/4=1
●
Explain what the mod operator (%) is, what it does and when it is appropriate to use
the remainder in division 7/4=3
Part III. Program Design – Skills Test (15 points)
Given a problem description, be able to
●
●
●
●
Sketch a user interface
●
●
●
●
●
●
Comment statements
Construct a control table
Construct a data table
Construct an algorithm to address the tasks of an event handler
Part IV. Coding – Skills Test and Chapter 4.Selection Structures (40 points)
Given an algorithm, be able to write the code, including
Variable declarations
Input statements
Arithmetic processing statements
Output statements
Simple selection structures (if statements)
Download