Computer Science PRAXIS study guide

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/100

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 5:08 PM on 4/6/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

101 Terms

1
New cards

Software System Life Cycle

Analysis -> Design -> Implement(Code) -> Test -> Maintain -> Analysis -> ...

2
New cards

Top-Down Design (stepwise refinement)

break down into smaller and smaller pieces, easy to implement

3
New cards

Bottom Up Design

uses pre-existing modules/libraries, saves time and effort

4
New cards

Object oriented Programming (OOP)

interacting objects, data centered, bundles actions and processes with data, very large projects can be developed more easily, modifications can be made without altering the "insides"

5
New cards

3 Big Ideas of OOP

abstraction(encapsulation), inheritance, and polymorphism

6
New cards

Flowchart Shape: diamond

decision (boolean)

7
New cards

Flowchart Shape: rectangle

process

8
New cards

Flowchart Shape: paralellogram

input/output

9
New cards

Flowchart Shape: oval

start/end

10
New cards

Unified Modeling Language (UML)

visual organizer showing objects and contents

11
New cards

UML visual example

Name of class

------------------------

Attribute name: type

[set of variables, attributes, etc.]

-------------------------

Methods (parameters)

.

.

.

return type

12
New cards

Waterfall Development Model

linear progress, works in industry, not software, clear and straightforward but rigid and difficult to modify, changes are costly

idea -> analysis -> design -> develop -> test -> final

13
New cards

Incremental Development Design

small amount done at a time, test and adjust as needed, completes entire process in each increment, flexible to change, includes customer testing

plan -> analyze,design,implement(development) -> test -> evaluate -> plan -> ...

14
New cards

Spiral Development Design

includes risk analysis, documentation is difficult, uses prototyping and best parts of other models, costly and complex to manage

communicate -> plan -> model -> construct -> deploy -> communicate -> ...

15
New cards

Agile Development Design

commonly used in software development, can cause loss of focus or more complex project, risk of going over budget, incremental and iterative, flexible

sprint - set small simple short-term goals, achieve, test, evaluate, repeat

some common examples: SCRUM, XP, Kanban

16
New cards

code style conventions for constants

CAPS

17
New cards

code style conventions for class

Firstlettercapital

18
New cards

code style conventions for method/variable

CamelCase

19
New cards

Precondition

what must be true for the code to be executed

20
New cards

Postcondition

what will be true after the code is executed

21
New cards

Robust Program

able to withstand adverse conditions ("handle exceptions")

22
New cards

Unit Testing

process of testing each individual process

23
New cards

Input Protection/Data Validation

include a test of the form of input data

24
New cards

Exception

error in programming (checked or unchecked)

25
New cards

Exception Handling

protecting against exceptions

26
New cards

Try Catch Block

common exception handler

string

try {...}

catch {...}

27
New cards

Class vs. Object

definition of thing vs. actual thing

ex) recipe vs. meal

ex) blueprint vs. building

28
New cards

Encapsulation

object is defined as single entity with several inter-working parts

29
New cards

Abstraction(information hiding)

User is not privy to how inner parts work, but understands how to interface for use

ex) cars, computers, TV

30
New cards

Imperative(Procedural) Programming

code describes in exact detail what steps computer must make

31
New cards

Functional Programming

pure functional approach to problem solving

32
New cards

Inheritance

defining an object just like another but with more details, or extra details

[test "is a": one object "is a" form of another]

33
New cards

"Is a" Test

If one object "is a" form of another this is an example of inheritance

34
New cards

Parent Class

original class

35
New cards

Child Class

Inheriting class

36
New cards

Composition

made of predefined parts, several objects make one large object

[test "has a": a car "has a" body]

37
New cards

"Has a" Test

if an object "has a" different object this is an example of composition

38
New cards

Polymorphism

"many forms", redefining methods as needed

3 situations: overloading, overriding, polymorphic objects

39
New cards

Overloading

type of polymorphism, same name but operate different parameters to perform the same task

ex) car door lock is opened with a key or remotely

40
New cards

Overriding

type of polymorphism, redefining

41
New cards

Polymorphic Objects

type of polymorphism, parent can reference any child or grandchild

ex) furniture -> wooden furniture -> chair

a chair is still also furniture

42
New cards

Instruction Set Architecture (ISA)

part related to programming (native data types, instructions, external input/output, exception handling, registers, memory architecture)

43
New cards

Complex Instruction Set Computing (CISC)

micro-processor architecture, the machine instruction set designated as complex, primarily used by Intel and Intel Pentium; processors contain numerous instruction sets

44
New cards

Reduced Instruction Set Computing (RISC)

micro-processor architecture, few instructions, limiting to frequently used instructions, used by MacIntosh and Apple

45
New cards

Computer Architecture

relates to the way circuit boards and processors are designed and defined (CPU most significant)

46
New cards

Operating System (OS)

software that manages hardware and provides common services

47
New cards

Disk Operating System (DOS)

1966, first widely installed OS, operates using the command line, mainly IBM 1981-1995

48
New cards

Windows OS

1.0 released 11/20/1985,

XP - used underpinnings advanced security, stability, efficiency

vista - 2006, windows search, DVD maker, aimed to increase peer to peer file sharing

windows 8 - 2012, optimized for touch systems

49
New cards

Unix

family of multitasking, multiuser OS derived from AT&T, developed 1970s by Bell Labs, Ken Thompson, Dennis Ritchie

50
New cards

Linux

Linus Torvalds 10/5/1991, Unix-like open-source software, defining component was Linux kernel

51
New cards

Mac OS

1984, graphical user interface OS, Apple and MacIntosh

Mac OSX 2001

52
New cards

GM-NAA I/O

1956, forst OS for IBM 704 computer, General Motors, aeronautical research

53
New cards

Master Control Program (MCP)

1961, first OS with multiple processors, first commercial implementation of virtual memory, first OS written exclusively in a high level language

54
New cards

Artificial Intelligence

logic processes performed by software using sophisticated logic and large database systems

55
New cards

Low Level Language

easy for computer to understand and execute, written in machine code

56
New cards

High Level Language

easy for human to understand, must be translated into machine language to execute

57
New cards

Machine Code

original low level language, rows of switches flipped on or off by operator

58
New cards

Assembly

one step above machine, made easier to express programs, converts to machine code

59
New cards

Two Ways to Translate High Level Language to Machine Code

interpret

compile

60
New cards

Interpret

translated and executed line by line

61
New cards

Compile

translate all, then execute

62
New cards

Three Paradigms of High Level Language

procedural

functional

object oriented

63
New cards

Procedural (Structured Programming)(Imperative Languages)

first to develop, contain step-by-step instructions

ex) Fortran, Cobol, Pascal, C

64
New cards

Functional

"mathy", given data, recursion primary way to iterate process

ex) LISP, Haskell, Scheme

65
New cards

Object Oriented (OOP)

actions and data bundled in objects defined by classes

ex) C++, Java, Python

66
New cards

Fortran (Formula Translation)

1950s John Backus, used for science and engineering

67
New cards

COBOL

late 50s/early 60s Grace Hopper, used for business

68
New cards

BASIC (beginner's All-Purpose Symbolic Instruction Code)

1964 Dartmouth College, easy to learn and use, good for new or young programmers

69
New cards

Pascal

late 60s Niklaus Wirth, used as a teaching language

70
New cards

C and C++

1970s, replaces Pascal, general purpose, further developed OOP

71
New cards

Programming Language used on AP exams

1984 Pascal - 1sy Ap comp sci exam

1999 C++

2003 Java

72
New cards

Java

early 90s Sun Microsystems, James Gosling, used by engineers, popular present day, not compiled into machine but instead bytecode(portable code) which is then translated by each device and OS

73
New cards

Bytecode

universally portable software (Java uses)

ex) a game made for Xbox and Nintendo uses the same code but each console translates to what they need in order to execute

74
New cards

Python

Guido Van Rossum, named for Monty Python, supports procedural, functional, and OOP, general purpose high level language, emphasizes code readability

75
New cards

Visual Basic

1991 Microsoft, event-driven, easy to learn and used to create GUI based programs

76
New cards

XML (Extensible Markup Language)

set of rules defined for encoding documents in a format readable by both human and machine

77
New cards

Assembly Language

low level language using mnemonic opcodes (such as mov, sto, load) to directly interact with CPU, used by experts for highly efficient/fast programs

78
New cards

Backus Naur Notation

used to describe syntax in a context-free way

79
New cards

Pseudocode

informal high level description of algorithm, non-executable, meant to clearly express code

80
New cards

Syntax (Railroad Diagram)

graphical alternative to Bakus Naur

ex) if -> condition -> then -> statements -> else-if <(2 options) ...

81
New cards

float/double

data type, number with decimal values

82
New cards

int/short

data type, integer

83
New cards

char

data type, single entry text, 'enclosed in single quotes'

84
New cards

string

data type, multiple entry text, "enclosed in double quotes"

85
New cards

boolean

data type, true or false, 1 or 0

86
New cards

byte storage and limits

8 bits, values from -128 to 127

87
New cards

short storage and limits

16 bits, values from -32,768 to 32,767

88
New cards

int storage and limits

32 bits

89
New cards

long storage and limits

64 bits

90
New cards

char storage and limits

16 bits, cousin to int, number represents characters in ASCII/UniCode

ex) A=65, a=97, 0=48

91
New cards

Wraparound

reaching the end of an integer value and looping around to the other end

ex) byte num -> 127

num <- num + 1

print (num)

*output is -128 because byte max value is 127

92
New cards

float storage precision

32 bits, loses precision beyond 7 decimals

93
New cards

double storage precision

64 bits, loses precision beyond 15 decimals

94
New cards

Variable

location in memory containing a changeable value

95
New cards

Constant

memory location cannot be changed once assigned

96
New cards

Declare

assign name

97
New cards

Instantiated

assign a value to a declared variable

<- or = symbols used

98
New cards

a valid variable name... (5 identifier rules)

1. Must contain only letters, numbers, and underscore

2. Must begin with letter or underscore

3. May not contain symbols

4. May not contain spaces

5. May not be a reserved word from the language

99
New cards

coding conventions (6 rules of thumb)

1. classes start upper case

2. procedures, functions, and methods start lower case

3. camelCase multiple word identifiers

4. CONSTANTS are all caps

5. use meaningful names

6. abbreviate within reason

100
New cards

True or False: Assignment statements are "left to right" operation.

False, they are right to left operations, the right side compiles first, i.e. comp sci is not commutative

ex) num = 7 is good

ex) 7 = num is bad

Explore top flashcards

flashcards
Unit 5 #53-103
53
Updated 341d ago
0.0(0)
flashcards
Q3 SOC SCI QE chapter 12
38
Updated 1118d ago
0.0(0)
flashcards
Personal Finance Midterm Vocab
22
Updated 1174d ago
0.0(0)
flashcards
Chapter 3 Key Concepts
31
Updated 188d ago
0.0(0)
flashcards
Unit 5 #53-103
53
Updated 341d ago
0.0(0)
flashcards
Q3 SOC SCI QE chapter 12
38
Updated 1118d ago
0.0(0)
flashcards
Personal Finance Midterm Vocab
22
Updated 1174d ago
0.0(0)
flashcards
Chapter 3 Key Concepts
31
Updated 188d ago
0.0(0)