50
Advanced C++ wt D89 Curriculum Essentials Document Boulder Valley School District Department of CTEC August 2015

Advanced C++ wt - Boulder Valley School District Tech Curriculum/Advanced C++ … · 8/28/2015 BVSD Curriculum Essentials 3 Advanced C++ wt Overview Course Description The Advanced

  • Upload
    dinhtu

  • View
    219

  • Download
    1

Embed Size (px)

Citation preview

Advanced C++ wt

D89 Curriculum Essentials

Document

Boulder Valley School District Department of CTEC

August 2015

8/28/2015 BVSD Curriculum Essentials 2

Introduction

Advanced C++ (Weighted) is a one-year course introductory college course in computer science. This course emphasizes a foundation in computational thinking, an interdisciplinary method of scientific inquiry.

Because the design and implementation of computer programs to solve problems involve skills that are fundamental to the study of computer science, a large part of the course is built around the development of computer programs that correctly solve a given problem. These programs should be understandable, adaptable, and, when appropriate, reusable. At the same time, the design and implementation of computer programs is used as a context for introducing other important aspects of computer science, including the development and analysis of algorithms, the development and use of fundamental data structures, the study of standard algorithms and typical applications, and the use of logic and formal methods. In addition, the responsible use of these systems is an integral part of the course. The goals of the Advanced C++ course are comparable to those in the introductory course for computer science majors offered in college and university computer science departments. It is not expected, however, that all students in the Advanced C++ course will major in computer science at the university level. The Advanced C++ course is intended to serve both as an introductory course for computer science majors and as a course for people who will major in other disciplines that require significant involvement with technology. It is not a substitute for the usual college-preparatory mathematics courses. The following goals apply to the Advanced C++ course when interpreted within the context of the course. Students should be able to:

• Design and implement solutions to problems by writing, running, and debugging Computer programs. • Use and implement commonly used algorithms and data structures. • Develop and select appropriate algorithms and data structures to solve problems. • Understand the basic Advanced C++ programming concepts. • Understand the use of arrays to store lists and tables of values. • Use pointers and Strings. • Understand the close relationships among pointers, arrays and strings. • Understand the notion of data abstraction and ADTs • Divide a problem into its logical set of components. Understand how a good program design can reduce coding and debugging time. • Design and code most mid-level problems from the start. • Recognize the ethical and social implications of computer use.

8/28/2015 BVSD Curriculum Essentials 3

Advanced C++ wt Overview

Course Description

The Advanced C++ Weighted year long course prepares students for Post-Secondary Computer Science topics in Advanced C++ and other programming paradigms. Topics include mover advanced coursework in data types, variables, and arithmetic; strings, arrays, graphics, methods and constructions, etc. In addition, more templates, classes, graphics, and group projects in C++ are covered. Students will also gain experience with object-oriented programming and project-based learning utilizing ideas of computer graphics and game programming and its application in building mathematical models that are of interest to scientists and engineers.

Topics at a Glance Computational Thinking * Classify problems as tractable, intractable, or computationally unsolvable. * Evaluate algorithms by their efficiency, correctness, and clarity. * Compare and contrast simple data structures and their uses (e.g., arrays and lists). * Discuss the interpretation of binary sequences in a variety of forms (e.g., instructions, numbers, text, sound, image). * Use models and simulations to help formulate, refine, and test scientific hypotheses. * Analyze data and identify patterns through modeling and simulation. * Decompose a problem by defining new functions and classes. Advanced C++ Programming Topics include the Advanced consideration of Principle of Object Oriented Programming, Keywords, Identifiers, Constants, Operators, Manipulators, Expressions and control structure, Pointers, Functions, Function prototyping, Parameters passing in functions, Values Return by functions, Classes, objects, constructors and destructors, Operator overloading, Type conversions, Type of constructors, Function overloading, and other related topics. In addition, more templates, classes, graphics, and group projects in C++ are covered. This course will also address fundamental concepts of analysis, design, testing and code development. It includes Boolean logic, control flow, data types and structures, variables, arrays, functions, pointers and introduces classes. It will also introduce the basic concepts of object design, and introduces use of UML. Collaboration * Demonstrate software life cycle process by participating on a project team. * Evaluate programs written by others for readability and usability. Community, Global, & Ethical Impacts * Demonstrate ethical use of modern communication media and devices. * Identify laws and regulations that impact the development and use of software. * Analyze the impact of government regulation on privacy and security. * Differentiate among open source, freeware, and proprietary software licenses and their applicability to different types of software.

Assessments

Labs Assignments Individual and Group Projects Classroom Blogs / Forums Selected Readings Quizzes and Work Sheets

8/28/2015 BVSD Curriculum Essentials 4

Prepared Graduates

The preschool through twelfth-grade concepts and skills that all students who complete the Colorado education system must master to ensure their success in a postsecondary and workforce setting.

1. CTE Essential Skills: Academic Foundations ESSK.01: Achieve additional academic knowledge and skills required to pursue the full range of career and postsecondary education opportunities within a career cluster.

Prepared Graduate Competencies in the CTE Essential Skills standard:

Complete required training, education, and certification to prepare for employment in a particular career field

Demonstrate language arts, mathematics, and scientific knowledge and skills required to pursue the full range of post-secondary and career opportunities

2. CTE Essential Skills: Communications Standards ESSK.02: Use oral and written communication skills in creating, expressing, and interrupting information and ideas, including technical terminology and information

Prepared Graduate Competencies in the CTE Essential Skills standard:

Select and employ appropriate reading and communication strategies to learn and use technical concepts and vocabulary in practice

Demonstrate use of concepts, strategies, and systems for obtaining and conveying ideas and information to enhance communication in the workplace

3. CTE Essential Skills: Problem Solving and Critical Thinking ESSK.03: Solve problems using critical thinking skills (analyze, synthesize, and evaluate) independently and in teams using creativity and innovation.

8/28/2015 BVSD Curriculum Essentials 5

Prepared Graduate Competencies in the CTE Essential Skills standard:

Employ critical thinking skills independently and in teams to solve problems and make decisions

Employ critical thinking and interpersonal skills to resolve conflicts with staff and/or customers

Conduct technical research to gather information necessary for decision-making

4. CTE Essential Skills: Safety, Health, and Environmental

ESSK.06: Understand the importance of health, safety, and environmental management systems in organizations and their importance to organizational performance and regulatory compliance

Prepared Graduate Competencies in the CTE Essential Skills standard:

Implement personal and jobsite safety rules and regulations to maintain safe and helpful working conditions and environment

Complete work tasks in accordance with employee rights and responsibilities and employers obligations to maintain workplace safety and health

5. CTE Essential Skills: Leadership and Teamwork ESSK.07: Use leadership and teamwork skills in collaborating with others to accomplish organizational goals and objectives

Prepared Graduate Competencies in the CTE Essential Skills standard:

Employ leadership skills to accomplish organizational skills and objectives

8/28/2015 BVSD Curriculum Essentials 6

6. CTE Essential Skills: Employability and Career Development ESSK.09: Know and understand the importance of employability skills; explore, plan, and effectively manage careers; know and understand the importance of entrepreneurship skills

Prepared Graduate Competencies in the CTE Essential Skills standard:

Indentify and demonstrate positive work behaviors and personal qualities needed to be employable

Develop skills related to seeking and applying for employment to find and obtain a desired job

8/28/2015 BVSD Curriculum Essentials 7

COLORADO COMMUNITY COLLEGE SYSTEM CAREER & TECHNICAL EDUCATION TECHNICAL STANDARDS REVISION & ACADEMIC ALIGNMENT PROCESS Colorado’s 21st Century Career & Technical Education Programs have evolved beyond the historic perception of vocational education. They are Colorado’s best kept secret for: • Relevant & rigorous learning • Raising achievement among all students • Strengthening Colorado’s workforce & economy Colorado Career & Technical Education serves more than 116,000 Colorado secondary students annually through 1,200 programs in 160 school districts, 270 High Schools, 8 Technical Centers, 16 Community Colleges & 3 Technical Colleges. One of every three Colorado high school students gains valuable experiences by their enrollment in these programs. ALIGNMENT REQUIRED BY SB 08-212 22-7-1005. Preschool through elementary and secondary education - aligned standards - adoption - revisions. 2(b): In developing the preschool through elementary and secondary education standards, the State Board shall also take into account any Career & Technical Education standards adopted by the State Board for Community Colleges and Occupational Education, created in Section 23-60-104, C.R.S., and, to the extent practicable, shall align the appropriate portions of the preschool through elementary and secondary education standards with the Career and Technical standards. STANDARDS REVIEW AND ALIGNMENT PROCESS Beginning in the fall of 2008, the Colorado Community College System conducted an intensive standards review and alignment process that involved: NATIONAL BENCHMARK REVIEW Colorado Career & Technical Education recently adopted the Career Cluster and Pathway Model endorsed by the United State Department of Education, Division of Adult and Technical Education. This model provided access to a national set of business and industry validated knowledge and skill statements for 16 of the 17 cluster areas. California and Ohio provided the comparative standards for the Energy cluster • Based on this review Colorado CTE has moved from program-specific to Cluster & Pathway based standards and outcomes • In addition, we arrived at fewer, higher, clearer and more transferrable standards, expectations and outcomes.

8/28/2015 BVSD Curriculum Essentials 8

COLORADO CONTENT TEAMS REVIEW The review, benchmarking and adjusting of the Colorado Cluster and Pathway standards, expectations and outcomes was through the dedicated work of Content Teams comprised of secondary and postsecondary faculty from across the state. Participation by instructors from each level ensured competency alignment between secondary and postsecondary programs. These individuals also proposed the draft academic alignments for math, science reading, writing and communication, social studies (including Personal Financial Literacy) and post secondary and workforce readiness (PWR.)

8/28/2015 BVSD Curriculum Essentials 9

ACADEMIC ALIGNMENT REVIEW In order to validate the alignment of the academic standards to the Career & Technical Education standards, subject matter experts in math, science, reading, writing and communication, and social studies were partnered with career & technical educators to determine if and when a true alignment existed. CURRENT STATUS • One set of aligned Essential skills to drive Postsecondary and Workforce Readiness inclusion in all Career & Technical Education programs. • 52 pathways with validated academic alignments • 12 pathways with revised standards ready for alignment (currently there are no approved programs in these pathways) • 21 pathways where no secondary programming currently exists. Standards and alignments will be developed as programs emerge. • Available for review at: www.coloradostateplan.com/content_standards.htm

8/28/2015 BVSD Curriculum Essentials 10

Colorado Career & Technical Education Standards Academic Alignment Reference System The Career & Technical Education standards have been organized by Career Cluster (17) and Pathway (81). In addition, a set of “Essential Skills” was developed to ensure the Postsecondary and Workforce Readiness within any cluster or pathway. These workforce readiness skills are applicable to all career clusters and should form the basis of each CTE program. Organization Essential Skills There exists a common set of knowledge and skills that are applicable to all students regardless of which cluster or pathway they choose. This set of standards, is meant for inclusion in each program to enhance the development of postsecondary and workforce readiness skills. Career Cluster A Career Cluster is a grouping of occupations and broad industries based on commonalities. The 17 Career Clusters organize academic and occupational knowledge and skills into a coherent course sequence and identify pathways from secondary schools to two- and four-year colleges, graduate schools, and the workplace. Students learn in school about what they can do in the future. This connection to future goals motivates students to work harder and enroll in more rigorous courses. Career Pathway Pathways are sub-groupings of occupations/career specialties used as an organizing tool for curriculum design and instruction. Occupations/career specialties are grouped into Pathways based on the fact that they require a set of common knowledge and skills for career success. Prepared Completer Competency This level targets the “big ideas” in each pathway. These are the competencies that all students who complete a CTE pathway must master to ensure their success in a postsecondary and workforce setting. Prepared Completer Competencies will not usually be “course” specific but grow with the student’s progression through the sequence of courses. Concept/Skill The articulation of the concepts and skills that indicates a student is making progress toward being a prepared completer. They answer the question: What do students need to know and be able to do? Evidence Outcome The indication that a student is meeting an expectation at the mastery level. How do we know that a student can do it? Pathway Abbreviation (4 Letter)

8/28/2015 BVSD Curriculum Essentials 11

Academic Alignments Academic alignments, where appropriate in Math, Reading, Writing and Communication, Science and Social Studies (including Personal Financial Literacy) were defined by CTE and academic subject matter experts using the following criteria: • It was a point where technical and academic content naturally collided; • The student must demonstrate adequate proficiency with the academic standard to perform the technical skill; and • It could be assessed for both academic and technical understanding. Colorado’s CTE programs have had academic alignments dating back to the early 1990’s. While these alignments resulted in an increase in academic focus in CTE programs, the reality is that a true transformation in intentional teaching toward the academic standard was limited. With these alignments comes a new expectation: If a CTE instructor is teaching a CTE concept that has an identified alignment, they must also be intentional about their instruction of the academic standard. CCCS will be providing professional development and instructional resources to assist with the successful implementation of this new expectation. In addition, this expanded expectation will require increased collaboration between CTE and academic instructors to transform teaching and learning throughout each school. For each set of Cluster and Pathway standards, the academic alignments have been included and are separated by academic area. CCCS chose to align at the “Evidence Outcome” level. The aligned academic evidence outcome follows the CTE evidence outcome to which it has been aligned. For a sample, see Illustration A.

8/28/2015 BVSD Curriculum Essentials 12

The academic standard number used in the alignments matches the Colorado Department of Education standards numbering convention.

8/28/2015 BVSD Curriculum Essentials 13

8/28/2015 BVSD Curriculum Essentials 14

8/28/2015 BVSD Curriculum Essentials 15

8/28/2015 BVSD Curriculum Essentials 16

8/28/2015 BVSD Curriculum Essentials 17

ITPR.01

Identify and analyze customer software needs and requirements to guide programming and software development.

ITPR.01.01 Gather data to identify customer requirements.

ITPR.01.01.a Gather information using interviewing and questioning techniques and strategies.

ITPR.01.01.b Identify input and output requirements.

ITPR.01.01.c Identify system processing requirements.

ITPR.01.02 Conduct requirements analysis.

ITPR.01.02.c Define the issue or opportunity to be solved by the application.

ITPR.01.03 Identify and assess the potential importance and impact of new IT technologies.

ITPR.01.03.a Identify new technologies and data communication trends relevant to information technology.

ITPR.01.03.b Assess the importance of new technologies to future developments.

ITPR.01.03.c Understand the importance of testing new technologies before implementation to customers.

ITPR.02 Design a software application using the software development process

to deliver a product to the customer.

ITPR.02.01 Utilize software development processes and methodology.

ITPR.02.01.a Demonstrate Problem analysis for a given software problem.

ITPR.02.01.d Understand the Systems Development Life Cycle.

ITPR.02.02 Create design specifications of a computer application.

ITPR.02.02.a Design a software application that meets the requirements of the given problem.

ITPR.02.02.b Analyze and prepare logic using pseudocode and/or program flowchart.

ITPR.02.02.c Demonstrate the use of current design tools in the design process.

8/28/2015 BVSD Curriculum Essentials 18

ITPR.03

Produce (code) a computer application to demonstrate proficiency in developing an application using the appropriate programming language.

ITPR.03.01 Demonstrate proficiency of programming language concepts.

ITPR.03.01.a Demonstrate knowledge of the hardware-software connections.

ITPR.03.01.b Demonstrate knowledge of the concepts of data and procedural representations.

ITPR.03.01.c Demonstrate knowledge of the basic principles for analyzing

a programming program.

ITPR.03.01.d Demonstrate knowledge of the basics of structured or object-oriented language.

ITPR.03.01.e Demonstrate knowledge of the range of languages used in software development.

ITPR.03.01.f Demonstrate knowledge of how a programming language can support multitasking, multithreading, memory management and exception-handling.

ITPR.03.02 Demonstrate proficiency in developing an application using an appropriate programming language.

ITPR.03.02.a Demonstrate knowledge of current key programming languages and the Interactive Development Environment (IDE) they are used in.

ITPR.03.02.b Translate data structure and program design into code in an appropriate language.

ITPR.03.02.c Demonstrate knowledge of key constructs and commands specific to a language.

ITPR.03.02.d Demonstrate knowledge of how to resolve program implementation issues (e.g., debugging, documentation, auditing).

ITPR.03.02.e Prepare code documentation.

ITPR.03.02.f Prepare and conduct unit testing and implement fixes. ITPR.04 Implement software testing procedures and quality assurance tasks

to ensure quality service and products.

ITPR.04.01 Develop a test plan and perform testing and validation.

ITPR.04.01.a Define test procedures using new or established procedures for testing, indentifying, and tracking resolutions.

ITPR.04.01.b Develop and perform test cases using requirements and design specifications.

ITPR.04.02 Summarize software quality assurance procedures.

ITPR.04.02.b Validate internal code documentation.

ITPR.04.02.c Recognize the relationship between dependability, functionality, and ease of use.

ITPR.05 Perform maintenance and customer support functions to maintain

8/28/2015 BVSD Curriculum Essentials 19

software applications.

ITPR.05.01 Analyze and perform technical support needs.

ITPR.05.01.d Perform technical functions as required by the user.

8/28/2015 BVSD Curriculum Essentials 20

Academic Vocabulary for – D89 Advanced C++

General CS Vocabulary

Adapted from: http://quizlet.com Application Enables users to perform task; Example: shareware,

freeware, open source CPU Central processing unit, everything is overseen and

processed by CPU Binary Data Hard drive being measured by, example: gigabits, mega

bites BIOS Basic Input Output Device, make sure CPU function,

loads the CPU though process of instruction Cache Uses RAM, store frequently used data with fast RAM that

goes straight to CPU Device Drivers Software developed to allow interact between a

hardware device Domain Name Human readable IP address; Example: Porters.org Firmware Hard coded info needed to run software Firmware Info/instructions embedded in hard ware, needed to run

software; example: BIOS Freeware Copy righted software made available for free for

unlimited time; example: iTunes Hard drive Large capacity storage spaces used to hold info such as

programs and documents, holds all software and files used on computer

Hard drive is stored-- Permanently Hardware Physical components of a computer HTML Hyper text markup language: is not a programing

language but a markup language, use markup tags to create websites. it tells web browser how should web look.

HTTP Hyper text transfer protocol: standard for web browsers and servers, a technical specification in order to function

Input device Device to put in to computer; example: keyboard and mouse

Internet One giant network that links people together. IP address When a client uses the internet, you have to use a

address that have numerical label assigned to each device participating in a network.

ISP Kind of internet service provider; Example: AT&T LAN Local Area Network: computer network that covers a

small area; Examples: home, office; with this we can use internet wirelessly.

MAC address Media access control address: every mac have a unique serial number called MAC address. used to identify exact device. GLOBAL IDENTIFIER, WRITEN IN ROM, CARRIED IN NIC, hardware card installed in computers to make possible connection through ethane wire connection to access internet.

8/28/2015 BVSD Curriculum Essentials 21

MAN Metropolitan Area Network: Spans whole city, usually wireless

Memory Fast storage used to hold data Mother board Main circuit broad that connects all components. have

printed circuit broad which provides pathways for all info and communication in the computer

Network Used to connect, communicate, and unifying link. NIC Network interface card that is installed in a computer so

it can connect to computer. It provides full time connection.

Open Source Software made available for public to publish, copy; example: safari

Operating system Program which manages other programs on the computer, it send messages to the application and user about updates and possible errors. :) a software, system

Output device Make info that was input, and processed available to user.

Processing Unit Device receives and processes, present info Protocols They are rules to make sure everything meets it's

standards RAM Random Access Memory. store temporarily info that

computer is working on. like short term memory ROM Read Only Memory. info cannot be changed, needed in

order for CPU to function. Translates firmware Router Hardware device which routes data from LAN to another

connection Server and Client Are what you need to use the internet, first something

provides you with ability to access on web-such as google. Then use machines to access servers-aka computer

Server IP Each time a modem connects to ISP, assigns server IP. it is a static IP because it does not change

Shareware Commercial software offers samples f trials before you must buy it; example: Microsoft Office

Software Programs used to operate computers, attached devices; Example: Application, system

System Enables other software to run by interfacing hardware; example: operating system, firmware, device drivers

User IP Each time a device connects to internet, you are assigned a user ID

Usually 32 bite numbered expressed as four octets, look like dotted decimals.

IP address

Virtual Memory Space on hard drive to temporarily store data, swap in and out as needed

WAN Wide Area Network: network that covers large geographic areas with many computers.

WNIC Wireless network Internet card: A NIC that has a antenna, which reads radio wave wireless signals sent from router.

8/28/2015 BVSD Curriculum Essentials 22

CS Programming Vocabulary

Adapted from: http://quizlet.com Application software consists of the programs that carry out business

functions, such as inventory, payroll, and so on Arithmetic/ logic unit (ALU) responsible for doing arithmetic computations (for

example, ADD A TO B), data transfers (moving data from one area of storage to another), and logical comparisons (such as IS A = 3?) as directed by the control unit

Assembler program computer programs that translate assembly language programs into machine language

Assembly language ... BASIC (Beginner's All-purpose Symbolic Instruction Code)

was developed in the mid-1960s at Dartmouth College by John Kemeny and Thomas Kurtz to allow students to write simple interactive programs. there have been many versions of BASIC. Visual BASIC, the newest version of BASIC, is an object-oriented, event-driven programming language

Binary digit (bit) characters are composed of binary digits (bits) 0 and 1 C was developed by Dennis Ritchie at Bell Laboratories in

the early 1970s, is used extensively for systems programs because it gives the programmer a lot of control over hardware. the UNIX operating system was written in C. many applications programs such as word processors, spreadsheets, are also written in C

Central processing unit (CPU)

the processing device used by a computer. consists of a control unit and an arithmetic/logic unit. together with primary storage, the CPU does the processing functions of the computer system

Character (byte) fields are composed of characters. the binary digits used to represent a character are called a byte. Example. In the NAME field that contains the name SAMUEL JOHNSON, there are 14 characters: S A M U E L J O H N S O N including the space or blank between the first and last names.

Character (string) field any nonnumeric field is a character, or string, field Code a program after the solution is planned, the next step is to write a

source program for the solution in a programming language such as Assemble, COBOL, Visual BASIC or C++

Compiler a program used in the translation process of translating instructions into machine language. this program translates each instruction into one or more machine language instructions

Computer Program a sequence of instructions that machines are capable of following

Computer Programmer people who write computer programs Computer system the interconnected devices capable of processing data,

8/28/2015 BVSD Curriculum Essentials 23

which have been input, and supplying the resulting information as output. consists of input devices, output devices, and a processing device

Control unit thought of as the "brain" of the computer. among other things, it determines which program instruction to execute, interprets the instruction, and causes the instruction to be executed

Data raw facts; Example. a list of test scores, a stack of bills, or a recipe

Database a collection of one or more related files; Example. phone directory files, records, fields, characters, and bits

Date field consists of a calendar date; Example. "Date money

turned in" Debugging the process of testing a program and finding and

correcting errors Documentation a written commentary of the programming process. it

should include such things as the specifications provided by the analyst, flowcharts and other planning aids, a list of the source program, comments in the program, sample test data, and test results

Event-driven, visual language

languages that simplified the task of programming applications for Windows. in these languages, the emphasis of a program is on the objects (ex. buttons) included in the user interface and the events (such as clicking a mouse button) that occur when these objects are used. the goal is to give the user as much control over the program as possible; Example. Visual C++, Visual BASIC

Execute a program instructions must first be taken from the secondary storage medium on which they are kept and loaded (put) into the primary storage of the computer

Field (data item, variable) a group of consecutive storage positions reserved for a particular type of data (records are composed of fields); Example: name, address, phone number, and Social Security number

Field (data) type describes the type of data contained in the field. fields

can be numeric or nonnumeric Field Name (data name, variable, identifier)

identifies the field and provides a name to access the data contained in the field

File data related to a particular subject organized in secondary storage

Firmware computer programs actually built into the hardware; Example. the instructions built into the ROM of a microcomputer to start the computer when it is turned on

First-generation languages the earliest programmers wrote instructions in machine. when computers were first invented, this was the only type of programming language available. machine language instructions are written in binary

8/28/2015 BVSD Curriculum Essentials 24

(series of 0s and 1s) FORTRAN (FORmula TRANslation)

the first widely used third-generation, high-level programming language. it was developed at IBM Corporation in the mid-1950s and has been enhanced many times since then. it is commonly used for mathematical, scientific, and engineering applications

Fourth-generation (4GL) language

high-level languages that require much less programmer effort than third-generation languages. they are typically used to retrieve information from files and databases; INCLUDE: SQL (a common query language), report generators, form designers, and application generators

Graphical user interface (GUI)

an easy-to-use interface with which a user can interact. it contains buttons, menus, and scroll bars. this interface is common to all applications written for Windows environment

Hardware the physical devices used to process data; Example. a computer

High-level language these languages require much less programmer effort because they are more English-like and require fewer instructions.

Information data that have been processed and made useful Input/ output (I/O) device (peripheral)

hardware used to get data and instructions from secondary to primary storage and vice versa; Example. disk drives, CD-ROM drives, tape drives, keyboards, mice, printers, and video displays

Integer field a numeric field that contains a whole number that is positive, negative, or zero. integers can be short integers or long integers depending on their magnitude and can be signed (stored with a positive or negative sign) or unsigned (positive or zero only); Example. -1, 0, and 25

Interpreter a program used in the translation process of translating instructions into machine language. this program translates each instruction into one or more machine language instructions

Logic error results that are not correct because of using an incorrect operation by the computer

Logical (boolean) field contains one of two values such as "yes"/"no" or "true"/"false" ; Example. "Money turned in to the league"

Machine dependent means that each computer had its own machine language, so a program written for a particular computer would not work on another type of computer

Machine independent third-generation instruction that might be converted into more than one machine-language instruction that is not tied to particular computers

Machine language the binary (on/off) representation of computer instructions

Manual Data Processing processing data without a computer Memory size of a computer the storage capacity of its RAM. Measured in kilobytes

(K). a single kilobyte is 1,024 storage locations. one

8/28/2015 BVSD Curriculum Essentials 25

thousand kilobytes is equivalent to 1 megabyte, and 1,000 megabytes is equivalent to 1 gigabyte

Mnemonics words and symbols used in assembly language Nonnumeric (alphanumeric) field

contain any character including numbers, letters of the alphabet, and special characters such as dollar signs ($), percent signs (%), hyphens (-), and commas (,)

Numeric field contain only numbers, a decimal point, a positive or negative sign

Object program compilers and assemblers generate this machine language as output

Object-oriented language when programming in this language, the programmer creates objects and methods for working with the objects. one of the first object-oriented programming languages was Smalltalk, which was developed in the mid-1970s by Xerox Corporation. Example. C++

Operand describes the data used in the instruction Operation Code machine language instructions that consist of the

instruction to be executed Primary (main) storage (memory)

stores the data and instructions (programs) needed by the computer

Procedure-oriented language

in these languages, the emphasis of the program is on how to accomplish a task. the programmer writes the instructions as well as determines the order in which the computer should process the instructions. Example. FORTRAN, COBOL, BASIC, and C

Program specifications the specifications used by the programmer Program testing the only way to find logic errors Programming Logic designing solutions to problems that will be solved by a

computer RAM (random-access memory)

main memory. before a program's instructions can be carried out or executed by the computer, these instructions must be stored in RAM.

Real (floating point) field refer to numeric fields that have decimal points such as 11.213 and -12.36. can be single precision or double precision depending on the magnitude and accuracy required

Record how files are composed; Example1. each listing in a phone directory represents a record (files are composed fo records); Example 2. a payroll file contains one record for each employee

Register a special storage area in the ALU where all calculations are done

ROM (read-only memory) special type of main memory that cannot be changed by the programmer. it contains instructions for doing such things as starting up the computer when you turn it on. these instructions are built into a memory chip and cannot be erased when the power to the computer is turned off. the programmer has no control over what is stored in the ROM

Second-generation language

...

8/28/2015 BVSD Curriculum Essentials 26

Secondary (external or auxiliary) storage

used as additional memory for the computer, is cheaper than primary storage because it does not have to be as fast. it is permanent in that turning off the computer does not erase secondary storage.

Software term used to describe computer programs Source program the program written by the programmer which is the

input to a compiler, interpreter, or assembler Statement

all programming languages consist of a set of these instructions and syntax rules for putting them together to make valid instructions

Subroutine (function or module)

a set of instructions or tasks that accomplishes a specific function of the program; Example. printing heading on a report, accessing a file, or doing a complicated calculation

Syntax rules used for programming languages in software. if a programmer makes a syntax error in a programming language, the computer cannot understand what to do, and an error results

System the analyst studies this current collection of people, machines, and procedures that work together to accomplish objectives to find out what input, processing, and output procedures are currently being used

System software software, such as the operating system, is needed to make the computers usable. the operating system communicates with hardware to accomplish input and output functions. Example Windows 7, OSX, Linux

Systems analyst this person who works on a particular project provides specifications to be used by the programmer.

Third-generation language includes FORTRAN, COBOL, C, C++, BASIC, AND Visual BASIC

Translate a program translating assembly language instructions into machine language (binary code)

Translation (syntax or language) error

output includes a list of diagnostics that show these errors; Examples. using a field name that contains too many characters, misspelling a computer instruction, branching to a nonexistent location in your program, and violating the punctuation rules of a language

User analysts develop specifications by working with this person or persons who will be using the program when it is complete in order to determine how best to solve a problem or improve operations

8/28/2015 BVSD Curriculum Essentials 27

C++ Programming Vocabulary Taken from Bjourne Strousrup

C++ creator

!= - the inequality operator; compares values for inequality returning a bool. #define - a directive that defines a macro. #include - a mechanism for textual inclusion of one source file into another. Typically used to compose a translation unit out of a .c file and the header files it needs to define its view if the rest of the program. += - add-and-assign operator; a+=b is roughly equivalent to a=a+b. Often a useful operation for user-defined types. .c file - file containing definitions. .cpp file - see .c file .cxx file - see .c file .h file - see header file. = - the assignment operator; not an equality operator. = can be used for non-const built-in types (except arrays), enumerations, strings, containers, iterators, complex, and valarray. For a class, = is by default defined member-wise assignment; if necessary, the writer of a class can define it differently. == - the equality operator; compares values for equality returning a bool. == can be used for built-in types, enumerations, strings, iterators, complex, and valarray. == is not by default defined for a class, but a user can define it for a user-defined type. Note that == doesn't have the naively expected meaning for C-style strings or arrays abstract class - a class defining an interface only; used as a base class. Declaring a member function pure virtual makes its class abstract and prevents creation of objects of the abstract class. Use of abstract classes is one of the most effective ways of minimizing the impact of changes in a C++ program and for minimizing compilation time. Example. abstract type - see abstract class. abstraction - the act of specifying a general interface hiding implementation details. Classes, abstract classes, and templates are the primary abstraction mechanisms in C++. See also: encapsulation. access control - access to bases and members of a class can be controlled by declaring them public, protected, or private. algorithm - a precise definition of a computation. The standard library provides about 60 standard algorithms, such as sort(), search(), and copy_unique(). and - synonym for &&, the logical and operator. ANSI - The American national standards organization. Cooperates closely with ISO over the C++ standard. application - a collection of programs seen as serving a common purpose (usually providing a common interface to their users). argument - a value passed to a function or a template. In the case of templates, an argument is often a type. argument passing - The semantics of function call is to pass a copy of an argument. The copy operation is defined by the argument type's copy constructor or by binding to a reference. In either case the semantics is those of initialization. array - contiguous sequence of elements. An array doesn't know its own size; the programmer must take care to avoid range errors. Where possible use the standard library vector. assignment operator - see =. binary operator - an operator taking two operands, such as /, &&, and binary *. bit - a unit of memory that can hold 0 or 1. An individual bit cannot be directly accessed in C++ (the unit of addressing is a byte), but a bit can be accessed through a bitfield or by using the bitwise logical operators & and |. bitand - synonym for &, the bitwise and operator. bitfield - a number of bits in a word made accessible as a struct member. bitor - synonym for |, the bitwise or operator bool - the built-in Boolean type. A bool can have the values true and false.

8/28/2015 BVSD Curriculum Essentials 28

bug - colloquial term for error. built-in type - A type provided directly by C++, such as int, double, and char*. See also: integral types, floating-point type, pointer, reference byte - a unit of memory that can hold a character of the C++ representation character set. The smallest unit of memory that can be directly addressed in C++. Usually, a byte is 8 bits. TC++PL 4.6. C - programming language designed and originally implemented by Dennis Ritchie. C++ is based on C and maintains a high degree of compatibility with C. See also: K&R C, C89, C99, ANSI C. C standard library - the library defined for C in the C standard. Inherited by C++. Most C standard library functions have safer and more convenient alternatived in the C++ standard library. See also: algorithm, container, stream I/O, string, locale. C++ - a general-purpose programming language with a bias towards systems programming that supports procedural programming, data abstraction, object-oriented programming, and generic programming. C++ was designed and originally implemented by Bjarne Stroustrup. C-style cast - dangerous form of explicit type conversion; prefer new-style cast if you must use explicit type conversion. C-style string - zero-terminated array of characters, supported by C standard library functions. A low-level and error-prone mechanism; where possible prefer strings. C/C++ - (1) an abbreviation used when discussing similarities, differences, and compatibility issues of C and C++. (2) a mythical language referred to by people who cannot or do not want to recognize the magnitude of differences between the facilities offered by C and C++ or the significant differences in the programming styles supported by the two language. See also: multi-paradigm programming, object-oriented programming, generic programming, exception, template, user-defined type, C++ standard library. C/C++ compatibility - C++ was designed to be as compatible as possible to C, but no more. This basically means as compatible as can be without compromising C++'s level of type safety. You can download Appendix B of TC++PL,.Compatibility, which describes incompatibilities and differences in facilities offered by C and C++. call-by-reference - declaring a function argument type to be a reference, thus passing a reference rather than a value to the called function. See Also: call-by-value. call-by-value - passing a copy of an argument to the called function. The semantics of function call is to pass a copy of an argument. The copy operation is defined by the argument type's copy constructor. See Also: call-by-reference. cast - operator for explicit type conversion; most often best avoided. See also dynamic_cast, C-style cast, new-style cast. catch - keyword used to introduce a catch-clause. catch(...) - catch every exception. cerr - standard unbuffered ostream for error or diagnostic output. char - character type; typically an 8-bit byte. See also: wchar_t. char* - pointer to a char or an array of char. Typically assumed to point to a C-style string. Prefer a standard library string over a C-style string when you can. character set - a set of integer values with a mapping to character representations; for example, ASCII (ANSI13.4-1968) gives meaning to the values 0-127. ASCII is C++'s representation character set, the character set used to representprogram source text. character type - char, unsigned char, and signed char. These are three distinct types. See also: wchar_t. cin - standard istream. class - a user-defined type. A class can have member functions, member data, member constants, and member types. A class is thee primary mechanism for representing concepts in C++. See also: template class. class hierarchy - a collection of classes organized into a directed acyclic graph (DAG) by derived/base relationships. class template - see template class. Classic C - see K&R C.

8/28/2015 BVSD Curriculum Essentials 29

clone - a function that makes a copy of an object; usually a clone function relies on run-time information (e.g. a virtual function call) to correctly copy an object given only a pointer or reference to a sub-object. code generator - the part of a compiler that takes the output from the front-end and generates code from it. See also: back-end, optimizer. collection - a term sometimes used as a synonym for container. comment - block comment /* ... */ or line comment // ... compatibility - see C/C++ compatibility. compiler - the part of a C++ implementation that produces object code from a translation unit. See also: front-end, back-end. compound statement - sequence of statements enclosed in curly braces: { ... } See also: try-block. const - attribute of a declaration that makes the entity to which it refers readonly. See also: const member function. const definition - declaration of a const including an initializer. const member function - member function declared not to modify the state of the object for which it is called. Can be called for const objects only. constant - literal, object or value declared const, or enumerator. constant expression - expression of integral type that is evaluated at compile time constraint - rule that restricts the set of acceptable arguments for a template parameter. For example "the argument must have + and - operators". Examples. constructor - member function with the same name as its class, used to initialize objects of its class. Often used to establish an invariant for the class. Often used to acquire resources. A constructor establishes a local environment in which member functions execute. See also: order of construction, destructor. cout - standard ostream. data abstraction - programming relying on user-defined types with well-defined interfaces. See also: generic programming and object-oriented programming. data hiding - see information hiding data member - member of a class that can hold a value. A memer can be a static member or a non-static member. declaration - an introduction of a name into a scope. The type of the name must be specified. If the declaration also specifies the entity to which the name refers, the declaration is also a definition. default argument - a value specified for an argument in a function declaration, to be used if a call of the function doesn't specify a value for that argument. This is commonly used to allow a simple interface for common uses while making it easy to use less common facilities by specifying more arguments. See also: default template argument, binder. default constructor - constructor requiring no arguments. Used for default initialization. default template argument - a type or value specified for an argument in a template declaration, to be used if a use of the template doesn't provide a type or value for that argument. This is commonly used to allow a simple interface for common uses while making it easy to use less common facilities by specifying more arguments. See also: default argument. default value - value defined by a default constructor. For built-in types, the default value is defined to be 0. derived class - a class with one or more base classes design - creating a clean and reasonably simple structure of a system. destructor - member of a class used to clean up before deleting an object. It's name is its class' name prefixed by '~'. For example, Foo's destructor is ~Foo(). Often used to release resources. A destructor is implicitly called whenever an object goes out of scope or is deleted. See also: virtual destructor, order of destruction. double - double-precision floating-point number downcast - a cast from a base class to one of its derived classes. The name reflects the fact that in programming, trees tend to be drawn growing downwards from the roots. See also: dynamic_cast, upcast, crosscast. dynamic memory - see free store.

8/28/2015 BVSD Curriculum Essentials 30

dynamic_cast - a type conversion operation that performs safe conversions using on run time type information. Used for navigation of a class hierarchy. See also: downcast, crosscast, static_cast. encapsulation - the enforcement of abstraction by mechanisms that prevent access to implementation details of an object or a group of objects except through a well-defined interface. C++ enforces encapsulation of private and proteced members of a class as long as users do not violate the type system using casts. See also: interface and access control. enum - keyword for declaring enumerations. enumeration - a user-defined type consisting of a set of named values. enumerator - a name identifying a value of an enumeration. equality operator - see ==. error handling - see exception handling. exception - object thrown by a throw-statement and (potentially) caught by an exception handler associated by a try-block. See also: exception safety, termination semantics, catch. exception handler - a catch-clause associated with a try-block for handling exceptions of a specified type. exception handling - the primary way of reporting an error that cannot be handled locally. An exception is thrown and will be caught by an exception handler or terminate() will be called. See also: exception safety, termination semantics, try-block, throw, catch. executable file - the result of linking the object files of a complete program. See also: compiler, linker. expression - combination of operators and names producing a value. field - see bitfield. file - a sequence of bytes or words holding information in a computer. The term "file" is usually reserved to information placed on disk or elsewhere outside the main memory. The iostream part of the C++ standard library provides ifstream, ofstream, and fstream as abstraction for accessing files. file stream - stream attached to a file. See also, fstream, ifstream, ofstream. find() - standard library linear search algorithm for a value in a sequence. float - single-precision floating-point number. floating-point literal - the source text representation of a floating point value. For example, 0.314e1. floating-point type - a float, double, or long double. A floating-point number is typically represented as a mantissa and an exponent. for-statement - iteration statement specifying an initializer, an iteration condition, a "next-iteration" operation, and a controlled statement. fstream - a file stream for input and output. function - a named sequence of statements that can be invoked/called given arguments and that might return a value. The type of the function includes the number and types of argument and the type of the value returned, if any. See also: function declaration, function body. function argument - an argument to a function. function body - the outermost block of a function. See also: try-block, function definition. function declaration - declaration of a function, including its name, argument types, and return type. function definition - function declaration including a function body. function member - see member function. function object - object with the application operator, operator()(), defined so that it can be called like a function. A function object is more general than a function because it can hold data and provide additional operations. Sometimes called afunctor. Given current compiler technology, simple function objects inline better than pointers to functions, so that parameterization with function objects can be far more efficient than use of pointers to functions or virtual functions. See also: binder,adapter, function parameter - a parameter of a function. function prototype - C term for a function declaration that isn't also a function definition. function template - see template function. get function - see >>. I/O - see iostream

8/28/2015 BVSD Curriculum Essentials 31

IDE - Integrated (or Interactive) Development Enviornment. A software development environment (SDE) emphasizing a GUI interface centered around a source code editor. There are many IDEs for C++, but no standard SDE. identifier - see name. if-statement - statement selecting between two alternatives based on a condition. ifstream - an file stream for input. include - see #include. information hiding - placing information where it can be accessed only through a well-defined interface. See also: access control, abstract class, separate compilation. inheritance - a derived class is said to inherit the members of its base classes. initialization - giving an object an initial value. Initialization differs from assignment in that there is no previous value involved. Initialization is done by constructors. instantiation - see template instantiation. int - basic signed integer type; its precision is implementation-defined, but an int has at least 32 bits. integer type - a short, int, or long. Standard C++ doesn't support long long. interface - a set of declarations that defines how a part of a program can be accessed. The public members and the friends of a class defines that class' interface for other code to use. A class without data members defines a pure interface. Theprotected members provide an additional interface for use by members of derived classes. See also: abstract class. interface function - A function that can access the representation of a class. See also: friend, member function, derived class, protected. invariant - a condition of the representation of an object (the object's state) that should hold each time an interface function is called; usually established by a constructor iostream - (1) standard library flexible, extensible, type-safe input and output framework. (1) stream that can be used for both input and output. See also: file stream, string stream istream - input stream type. iteration - traversal of data structure, directly or indirectly using an iteration-statement. See also: recursion. The standard library offer algorithms, such as copy() and find(), that can be effective alternatives to explicit iteration iteration-statement - for-statement, while-statement, or do-statement. iterator - a standard library abstraction for objects referring to elements of a sequence. literal - notation for values of bool, character types, integer types, or floating-point types. See also: enumerators. loop - a statement that expresses the notion of doing something zero or more times, such as a for-statement and a while-statement. main() - the function called by the system to start a C++ program. map - standard library associative container, based on "less than" ordering. See also: hash_map, vector, list.. member - type, variable, constant, or function declared in the scope of a class. member class - a class that is a member of another; also called a nested class. member constant - const or enumeration declared as a member. If initialized in-class, such a constant can be used in constant expressions within the class member data - see data member. member function - a function declared in the scope of a class. A member function that is not a static member function must be called for an object of its class memory management - a way of allocating and freeing memory. In C++ memory is either static, allocated on the stack, or allocated on the free store. When people talk about memory management, they usually think of free store or even specifically about garbage collection. Memory can often be effectively managed through standard library containers, such as vector or string, or through general resource management techniques. See also: auto_ptr, constructor, destructor, resource acquisition is initialization. NULL - zero. 0. 0 is an integer. 0 can be implicitly converted to every pointer type. See also: nullptr. nullptr - C++0x keyword for the null pointer. It is not an integer. It can be assigned only to pointers.

8/28/2015 BVSD Curriculum Essentials 32

object - (1) a contiguous region of memory holding a value of some type. (2) a named or unnamed variable of some type; an object of a type with a constructor is not considered an object before the constructor has completed and is no longer considered an object once a destructor has started executing for it. Objects can be allocated in static memory, on the stack, on on the free store. object code - see object file. object file - the result of compiling a source file. See also: compiler. object-oriented design - design focussed on objects and object-oriented programming. object-oriented programming - programming using class hierarchies and virtual functions to allow manipulation of objects of a variety of types through well-defined interfaces and allow a program to be extended incrementally through derivation. See also: polymorphism, data abstraction. object-oriented programming language - a programming language designed to support or enforce some notion of object-oriented programming. C++ supports OOP and other effective forms of programming, but does not try to enforce a single style of programming. See also: generic programming, multi-paradigm programming, hybrid language. ofstream - an file stream for output. OOD - see object-oriented design. OOP - see object-oriented programming. OOPL - see object-oriented programming language. operator - conventional notation for built-in operation, such as +, *, and &. A programmer can define meanings for operators for user-defined types. See also: operator overloading, unary operator, binary operator, ternary operator, prefix operator,postfix operator. paradigm - pretentious and overused term for a way of thinking. Often used with the erroneous assumption that "paradigms" are mutually exclusive, and often assuming that one paradigm is inherently superior to all others. Derived from Kuhn's theory of science parameter - a variable declared in a function or templates for representing an argument. Also called a formal argument. Similarly, for templates. pointer - an object holding an address or 0. polymorphism - providing a single interface to entities of different types. virtual functions provide dynamic (run-time) polymorphism through an interface provided by a base class. Overloaded functions and templates provide static (compile-time) polymorphism. postfix operator - a unary operator that appears after its operand. For example var++. prefix operator - a unary operato that appears before its operand. For example, &var. priority_queue - standard library queue where a priority determines the order in which an element reaches the head of the queue. private - access control keyword. See private member, private base. procedure - see function. program - a set of translation units complete enough to be made executable by a linker. programming language - artificial language for expressing concepts and general algorithms in a way that lends itself to solving problems using computers. There do not appear to be a general consensus on what a programming language is or should be. proprietary language - language owned by an organization that is not an official standards organization, such as ISO; usually manipulated by its owner for commercial advantage. protected - access control keyword. See protected member, protected base. public - access control keyword. See public member, public base. pure object-oriented language - programming language claiming to support only object-oriented programming. C++ is designed to support several programming paradigms, including traditional C-style programming, data abstraction, object-oriented programming, and generic programming. For a longer explanation, read Why C++ isn't just an object-oriented programming language. See also: hybrid language. put function - see <<. recursion - a function calling itself, hopefully with different arguments so that the recursion eventually ends with a call for which the function doesn't call itself. See also: iteration.

8/28/2015 BVSD Curriculum Essentials 33

reference - an alternative name for an object or a function. See also: operator overloading, call-by-reference. scope - a region of source text delimited by curly braces: { ... }, a list of function or template parameters, or all of a translation unit outside other scopes. See also: block, namespace, global scope. selection-statement - if-statement or switch-statement. self - see this. sizeof - operator yielding the size of an object. software - a collection of programs sort() - standard library algorithm for sorting a random access sequence, such as a vector or an array. Example comparing sort() to qsort(). source file - .c file or header. standard header - header for standard library facility. Included using the "#include< ... >" syntax. statement - the basic unit controlling the execution flow in a function, such as if-statement, while-statement, do-statement, switch-statement, expression statement, and declaration. static - (1) keyword used to declare a class member static; meaning allocated in static memory. For a member function, this implies that there is no this pointer. (2) keyword used to specify that a local variable should be allocated in static memory. (3) deprecated: keyword used to specify that a global name should not be visible from other translation units. static member - member of a class for which there is only one copy for the whole program rather than one per object. static member function - a member function that need not be called for an object of the class. static memory - memory allocated by the linker. static type - the type of an object as known to the compiler based on its declaration. See also: dynamic type. static type safety - type safety enforced before a program starts executing (at compile time or at static link time). static variable - variable allocated in static memory. static_cast - a type conversion operation that converts between related types, such as pointer types within a class hierarchy and between enumerations and integral types. See also: cast, dynamic_cast. stream - see iostream. stream I/O - see iostream. string - standard-library type representing a sequence of characters, support by convenient operators, such as == and +=. The general form of of strings, basic_string, supports strings of different kinds of characters. string stream - stream attached to a string. See also, stringstream, istringstream, ostringstreamstruct - class with members public by default. Most often used for data structures without member functions or class invariants, as in C-style programming. subclass - a derived class. subtype - see derived class. See also: public base. switch-statement - statement selecting among many alternatives based on an integer value. syntax - the set of gramatical rules specifying how the text of a program must be composed. For example, specifying the form of a declaration or the form of a for-statement. template - class or function parameterized by a set of types, values, or templates. See also template instantiation, specialization, template class, template function template argument - an argument to a template. template argument constraint - see constraint. template class - class parameterized by types, values, or templates. The template arguments necessary to identify the class to be generated for the class template must be provided where a template class is used. For example "vector<int> v;" generates a vector of ints from the vector template. See also template. template definition - declaration of a template class or of a template function including a function body. template function - function parameterized by types, values, or templates. The function to be generated from a template function can usually be deduced from the function arguments in a call. For example,

8/28/2015 BVSD Curriculum Essentials 34

"sort(b,e)" generates "sort<vector::iterator>(b,e)" from the sort() template function if b and e are standard library vector iterators. If a template argument cannot be deduced, it must be provided through explicit qualification. See also template. template instantiation - the process of creating a specialization from a template. template parameter - a parameter of a template. terminate() - If an exception is thrown but no handler is found, terminate() is called. By default, terminate() terminates the program. If program termination is unacceptable, a user can provide an alternative terminate() function. If you are worried about uncaught exceptions, make the body of main() a try-block. testing - systematically verifying that a program meets its specification and systematically searching for error. this - pointer to the object for which a non-static member function is called. throw - operation for interrupting the normal flow of control and returning to an appropriate exception handler identifyed by the type of the exception throw. See also: catch, exception handling true - bool value; converts to 1. try - keyword used to start a try-block. try-block - a block, prefixed by the keyword try, specifying handlers for exceptions. See also: catch, exception handling. type - a built-in type or a user-defined type. A type defines the proper use of a name or an expression.. type system - the set of rules for how objects can be used according to their types. See also: type checking. typedef - synonym for some type declared using the keyword typedef. unary operator - an operator taking one operand, such as ! and unary *. undefined - an aspect of C++'s semantics for which no reasonable behavior is required. An example is dereferencing a pointer with the value zero. Avoid undefined behavior. See also: implementation defined. uninitialized memory - memory that hasn't been initialized to hold a specific value of a type. user-defined type - Class or enumeration. A programmer can define meanings for operators for user-defined types. See also: operator overloading. user-defined type conversion - a user can define conversions either as constructors or conversion operators. These conversions are applied explicitly or implicitly just like built-in conversions. value - the bits of an object interpreted according to the objects type. value return - The semantics of function return is to pass a copy of the return value. The copy operation is defined by the return type's copy constructor. variable - named object in a scope. variable definition - declaration of a named object of a data type without an extern specifier. void - a keyword used to indicate an absence of information. void* - pointer to void; that is, a pointer to an object of unknown type; also called pointer to raw memory. A void* cannot be used or assigned without a cast. while-statement - a loop statement presenting its condition "at the top". For example, while (cin>>var) vec.push_back(var);

8/28/2015 BVSD Curriculum Essentials 35

CS Computer Ethics Vocabulary Adapted from: http://quizlet.com

Anti-Virus A computer program that detects viruses and repairs

damaged files. Bomb Destructive computer program that acts on a

predetermined event or at a specific time. Commercial software Software that is available for purchase. Computer Vandalism Act of damaging, altering, or destroying a computer,

computer peripherals, computer software, or a computer service.

Computer Virus A computer program that can reproduce by changing other programs to include a copy of itself-- a parasite program needing another program to survive.

Copyright Law Law which requires the permission of the owner to make non-archival copies of the work in qusetion. It protects the holder of the copyright.

Ethical Conforming to the accepted professional standards of conduct. A set of moral principles or values.

Freeware A copyrighted program for which the user is not obligated to compensate the author. It is given away free of charge but it may not be copied and distributed wthout permission to do so

Hacker Computer user who enjoys tinkering with computers, or who intentinally accesses computer system without permission to do so.

Intellectual Property Ideas put into action, like writing, music, art, photography, computer programs. These can be protected under copyright or patent laws.

Password A safeguard for access to a computer or a computer system or encrypted sensitive data files.

Piracy The illegal copying and distribution of software. Private Data Information which is confidential and only ethically

available to selected individual.. The right to keep certain things to yourself; not for public viewing.

Public Data Information which is available ethically to any user. Public Domain Software Programs that are not copyrighted and are free to be

shared, copied and used. Shareware Copyrighted software distributed free. Hoax A program intended to scare users into thinking they

have a virus. Software Piracy The unathorized duplication, illegal copying, and/or

distribution of programs. SPA (Software Publishers Association)

Group that investigates software copyright violations.

Trojan Horse A destructive computer program that disguises itself as a useful piece of software.

Virus A computer program designed to cause damage to computer files or hardware See also bomb, hoax trojan horse and worm.

8/28/2015 BVSD Curriculum Essentials 36

Worm A destructive computer program that bores its way through a computer's files or through a computer network. It often leaves bits of itself behind in other programs.

Acceptable Use Policy A document that governs the use of the computers and networks owned by the institution. It outlines what types of uses are acceptable and which are prohibited.

Commandment An instruction or a requirement. Computer Ethics Using a computer responsibly for good purposes. Ethics A code of conduct on how a person should live. FALSE It is OK to use another person's password to log onto

the computer network. Flaming A public post or email message that expresses a

strong opinion or criticism. ISP The company that hooks you up to the Internet such

as AOL, Quest. Netiquette E-Mail manners. Single-user License Program that may be installed on only one computer. Site License Agreement that allows multiple users of software

product. Spamming Bulk, mass, or repeated posting or mailing of

substantially identical messages. The emphasis is on the multiple sending.

Trolling An inflammatory post that is designed to provoke a flame war or flame responses.

TRUE It is not wise for children to provide credit card information without permission from parents using the Internet.

Commercial software Software that is available for purchase.

8/28/2015 BVSD Curriculum Essentials 37

CS Social Networking Vocabulary Adapted from: http://quizlet.com

Microblog one word for a Twitter profile Follower Subscriber to your Tweets DM direct message - private Twitter message to one user Hashtag a term beginning with a hash mark referencing a

topic, like #soannoyed TT trending topic - one of the most popular current

topics on Twitter Twitpic service that allows you to post images to Twitter Twitter Client third party application like Hootsuite or Tweetdeck

that adds features to Twitter Auto-DM automated message received when you follow a

Twitter user Verified Twitter confirms certain prominent users' identities

and labels them "verified." Retweet sharing another user's Tweet with your own followers #FollowFriday day of the week when some Twitter users

recommend favorite friends and followers to others Fan Page old term for what are now called "pages" Profile Banner single long picture in five parts tagged so that it

shows up spread across the five pictures at the top of a page

Landing Page the first thing you see when you reach a page Like-Gated visible only after "liking" a page App short for application - a program using Facebook's

API Instant Personalization controversial offering from Facebook that provides

users' information to sites like Yelp and Pandora Upvote/Upmod/Digg terms on Reddit, Slashdot, and Digg, respectively, for

voting in favor of a submission's popularity Submission link posted to a social bookmarking site Throwaway/Sockpuppet/Alt extra username, often created to avoid connecting an

embarrassing post to an established account Shadowban closure of a user's account that is not apparent to the

user Mod user with certain administrative powers Admin site employee who takes an administrative role in the

community Flame War vigorous argument Linkbait content intended to attract backlinks and social

media sharing

8/28/2015 BVSD Curriculum Essentials 38

Computational Thinking Vocabulary Adapted from: http://csta.acm.org/Curriculum/sub/CurrFiles/472.11CTTeacherResources_2ed-SP-vF.pdf

Data Collection The process of gathering appropriate

information

Data Analysis Making sense of data, finding patterns,and drawing conclusions

Data Representation Depicting and organizing data in appropriate graphs, charts, words, or images

Problem Decomposition Breaking down tasks into smaller, manageable parts

Abstraction Reducing complexity to define main idea

Algorithms & Procedures

Series of ordered steps taken to solve a problem or achieve some end.

Automation

Having computers or machinesdo repetitive or tedious tasks.

Simulation Representationor model ofa process. Simulation also involves running experiments using models.

Parallelization Organize resources to simultaneously carry out tasks to reach a common goal.

8/28/2015 BVSD Curriculum Essentials 39

8/28/2015 BVSD Curriculum Essentials 40

8/28/2015 BVSD Curriculum Essentials 41

8/28/2015 BVSD Curriculum Essentials 42

8/28/2015 BVSD Curriculum Essentials 43

8/28/2015 BVSD Curriculum Essentials 44

8/28/2015 BVSD Curriculum Essentials 45

8/28/2015 BVSD Curriculum Essentials 46

8/28/2015 BVSD Curriculum Essentials 47

8/28/2015 BVSD Curriculum Essentials 48

8/28/2015 BVSD Curriculum Essentials 49

 

Advanced C++ wt 

The Advanced C++ Weighted year long course prepares students for Post-Secondary Computer Science topics in Advanced C++ and other programming paradigms. Topics include mover advanced coursework in data types, variables, and arithmetic; strings, arrays, graphics, methods and constructions, etc. In addition, more templates, classes, graphics, and group projects in C++ are covered. Students will also gain experience with object-oriented programming and project-based learning utilizing ideas of computer graphics and game programming and its application in building mathematical models that are of interest to scientists and engineers.

Advanced C++ wt

Advanced C++ wt

D89

The Advanced C++ Weighted year long course prepares students for Post-Secondary Computer Science topics in Advanced C++ and other programming paradigms. Topics include mover advanced coursework in data types, variables, and arithmetic; strings, arrays, graphics, methods and constructions, etc. In addition, more templates, classes, graphics, and group projects in C++ are covered. Students will also gain experience with object-oriented programming and project-based learning utilizing ideas of computer graphics and game programming and its application in building mathematical models that are of interest to scientists and engineers.

1 year

[Course Fees]

10

Elective

Active

Career & Technical Education

6/1/1997

[Expiration Date]

[NCAA]

[Hear]

CTE

5.0

8/28/2015 BVSD Curriculum Essentials 50

10154

Computer Technology