Final Exam
Computer Science 1100 with Plaue at University of Georgia
About this deck
By: Anna Joyave
Created: 2011-05-04
Size: 80 flashcards
Views: 40
Created: 2011-05-04
Size: 80 flashcards
Views: 40
About StudyBlue
STUDYBLUE makes things that make you better at school.
Things like online flashcards with photos and audio.
Things like personalized quizzes and friendly reminders about when (and what) to study next.
Think of it as a digital backpack™: access to all of your study materials online and on your phone.
STUDYBLUE exists to make studying efficient and effective for every student, for free. Join us.
“Simply amazing. The flash cards are smooth, there are many different types of studying tools, and there is a great search engine. I praise you on the awesomeness.”
Dennis
Dennis
Sign up (free) to study this.
Alan Kay
"The best way to predict the future is to invent it."
Object Oriented Programming, windowing graphical user interface
Alan Turing
- British mathematician who was influential in the development of computer science
- Published a paper in 1936 called "On Computable Numbers"
- Described the Turing Machine
- "The extent to which we regarding something as behaving in an intelligent manner is determined as much by our own state of mind and training as by the properties of the object under consideration."
Grace Hopper
- She worked with Howard Aiken's Mark 1 (The first large-scale digital computer)
- Helped chart the course of the computer industry from its earlier days
- Played central roles in the development of the first compiler and COBOL (the first computer language designed for developing business software).
- Coined the term "computer bug"
Algorithm
a finite sequence of steps that achieves some task
Artificial Intelligence
the field of computer science devoted to making computers perceive, reason, and act in ways that have, until now, been reserved for human beings.
Assembly Language
functionally equivalent to machine language but easier for people to read, write, and understand
Assignment
gives a value to a variable (# of students in a class)
Automata Theory
the study of abstract machines and what these problems these machines can solve or model
- aka automata, state machines, or finite-state machines
Cache Memory
special memory used by the CPU to reduce the time getting data from the RAM
Temporal VS. Special Locality
Temporal Locality
things retrieved from the memory that are likely to be retrieved again
Special Locality
likeliness in retrieving something around a piece of memory
Captcha
programs that protect against bots
generates and grades tests that humans can pass but computer programs cannot
Compiler
a type of computer language translator that makes most of today's software possible
translates and entire high-level program to machine language before executing the program
A typical compiler is an integrated programming environment containing a text editor, a compiler and a debugger to simplify the process
Conditional Statements
fundamental programming constructs because they allow a program to do different things based on certain input
Lets you choose between multiple "paths" of instruction statements
Distributed Computing
integrates all types of computers in the workplace, from mainframes to PCs, into one system
Electronic Cottage
a house in which technology allows one to work from home
Enterprise Computing Era
PCs are an essential part of the overall computing structure for most businesses
Workers use tools such as word processors, spreadsheets, desktop publishing, email.
Companies can replace PCs with thin clients (low maintenance and low cost)
Finite State Machine
Can be used to model many problems
- electric design
- networking communication
- robotics
- grammars of languages
- mathematical abstraction used to determine computer logic
- Behavioral mode composed of a finite number of states determined by several different external stimuli
Front-Side Bus (FSB)
carries data between the CPU and memory controller
Memory controller: controls the RAM
Function/Method
packaged set of statements that can be executed reqeatedly
Groupware
enables groups of users to share calendars, send messages, access data, and work on documents simultaneously
High-Fidelity Prototyping
uses materials that you would expect to be in the final product
Human/Computer Interaction (HCI)
fundamentally about user-centered design; understanding who the users are, what they are trying to accomplish
Most users are interacting solely with the interface, not the underlying code base
Hyperthreading
quicker processing enabling a new set of instructions to start before the previous set has finished
Input Parameters
values given to a method
InfoVis
an active computer science research community
How can we harness computational power to make it easy to "understand" data?
Iteration
loop through a series of statements
- one of the most important programming concepts
- read in from a data set file until you reach the end-of-file character
- keep reading in values that a user types in until the user types in -1
Knowledge-Based System
contains a system of rules for determining and changing the relationship among those facts
- such a base consists of facts organized into categories
- we can use these knowledge bases for an artificial expert
Low-Fidelity Prototype
uses a medium which is unlike the final medium
Machine Language
the native language of the computer (binary)
Mainframe Era
computers were used for behind-the-scenes tasks: accounting, payroll, etc.
Natural Language
language that people speak and write everyday
- a way to give input to a computer, automatic translation of foreign language
- The "natural" way to think about processing is to build a parsing program (takes in a sentence and analyzes it)
Netbook
small, portable laptop computers designed for wireless communication and accessing the Internet
Intel Atom Processor
Uses hyperthreading to increase power
uses less power, but is less powerful
Object-Oriented Program
a program is not just a collection of step-by-step instructions or procedures, but a collection of objects
- objects contain both data and instructions can send and receive messages
- C++, Java, and C# are the most popular OOPs
PC Era
Jobs migrated from the mainframes to desktops, where they could be used for tasks that mainframes weren't programmed to do
Program
a finite sequence of instructions written in a particular language that achieves some task
- made up of logically cohesive modules
- the modules are arranged in a hierarchy
- straightforward and readable
Programmer
a person who translates an algorithm into a program that executes on a computer
Programming
the act of formulating an algorithm or program
- methodically solving a problem through detailed instruction
Prototype
a series of screen sketches, a storyboard, a PowerPoint presentation, video stimulating the use of a system, lump of wood, cardboard mock-up, limited in functionality software, but exposes to users and gets feedback
Recursion
the solution to a problem depends on smaller solutions to smaller versions of the same problem
Step 1: if the problem is easy, solve it
Step 2: Otherwise, divide into smaller/easier problems and solve them
Robot
computer controlled machine usually designed for simple specific tasks, especially repetitive assembly line jobs
Scientific Visualization
primarily relates to and represents something physical or geometric
Spam Bots
programs that "crawl" automatically through the site and with spam any email address it finds
Telecommuting
working from home by modem
Turing Test
Two people and a computer
Interrogator types IM style questions into a computer
is it the computer or another human responding?
"A machine may be deemed intelligent when it can pass for a human being in a blind test"
User-centered Design (UCD)
an interactive cycle of designing, implementing and evaluation
- understanding users' physical and cognitive abilities, knowledge and skills, motivation, and culture
- Problem: danger in assuming all users are alike and all users are like the designer
Variable
stores a value in the computer's memory, and a program can access or change the variable's value by accessing it's name
"titles" for positions of values (can change)
Workgroup Computing
use of groupware
Intranets
networks that use the internet to link employees
Extranets
networks accessible to strategic partners and customers
Difference between = and = =
- = is designed for assigning a value
- Var dog="rover"
- think of it as "dog gets the value rover"
- = = is used to check for equality
- IF(dog=="rover")
HTML, CSS, JavaScript
- HTML: defines a page layout -- element content and ordering
- CSS: defines element styles including font, color, padding, border etc
- JavaScript: often used to define element behaviors such as responses to mouse clicks etc
{Curly Brackets} in programming
{} are used to group together multiple statements for conditionals
The For loop
- the first time the for loop is reached, it'll run the initialization and set those variables
- if the continuation is false, the loop terminates and the statement list is skipped
- if the continuation is true, statement list is performed
- when all statements have completed, <nextiter> is run
2 Common Approaches to AI
- use computers to simulate human thinking
- designing intelligent machines independent of the way people think
Solutions to solving checkers (with respect to AI)
- Searching
- write program to search and look ahead at possibilities generated by each potential move
- Heuristics
- a heuristic is a rule often to give guidance for an action
- might be to "keep checkers in the king's row for as long as possible"
- Pattern Recognition
- write program to recognize certain patterns
- computer struggle with similar but slightly different patterns
Processor in a Netbook
Intel Atom Processor
Graphics Cards
- Integrated
- built into the motherboard
- usually shares the RAM with the computer
- costs less (usually)
- best for general computing and searching the web
- Dedicated
- installed as a separate component
- have dedicated memory on the card, usually also borrowed from RAM
- faster graphical processing units
- best used for gaming and extensive fraphical or video editing
USB vs IEEE 1394
- USB (Universal Serial Bus) (1.1, 2.0)
- a standard to connect devices to a computer
- supplies 5V of power
- supplies 1.5Mbit/s or 12Mbit/sj
- IEEE 1394
- AKA Firewire
- supplies up to 30V of power
- used in a lot of high-end video equipment
- 400Mbit/s (FW400), 3200Mbit/s (FW800)
Goals of HCI
Safety, effectiveness, efficiency, satisfaction
Why Prototype?
- Evaluation and feedback are central to ID
- Stakeholders can see, hold, interact with a prototype more easily that a document or drawing
- team members can communicate effectively
- test out ideas for yourself
- encourages reflection
- answer questions, share ideas
InfoVis Tasks
- to turn data into information, thus making it useful to people
- provide tools that present data in a way to help people understand and gain insight from it
Expert System Tasks:
- train new employees
- reduce human error
- take care of routine tasks
- provide expertise and guidance
- preserve the knowledge of experts
- make knowledge available to more people
Social Networks
set of individual units connected by some relationship i.e. friendships, organizations, internet
Different that categories and groups
Online Social Network
- accessible over the web with a web browser
- users must explicitly state their friendship with other people
- relationships must be visible and browsable by (some) users in the system
- site must have explicit built in support for users making these connections to other people
- information must be persistent
Strong vs. Weak ties
- Strong
- structurally strong
- meet frequently
- emotional connection
- Weak
- long-range
- relationally weak
- less frequent interaction
- lower trust and influence
InformationVisualization (InfoVis) Components
- taking items without a direct physical correspondence and mapping them to a 2D or 3D physical space
- giving information a visual representation that is useful for analysis and decision making
- Scale
- Interactive
Information Visualization Tasks
- Search
- finding a specific piece of information
- Browsing
- look over or inspect something in a more casual manner, seek interesting information
- Analysis
- Monitoring
- Awareness
A program is well-structured if
- It is made up of logically cohesive modules
- the modules are arranged in a hierarchy
- it is direct and readable
Artificial Intelligence's 2 distinct manners of solving problems
- use a computer to mimic human thought
- designing an intelligent machine independent of human thought characteristics
The Automated Factory
- Engineers use Computer Aided Design (CAD) and Computer Aided Manufacturing (CAM) technologies to design new products and the machines that build those products
Benefits of Automation
- more efficient
- reduces waste, raw materials and labor
However, poses a threat to blue collar workers
Electronic Sweatshops
- a typical entry shop might contain hundreds of clerks sitting at terminals in a massive, windowless room
- workers are often minorities or women who receive minimum wage
Computer Aided Instruction (CAI)
CAI software combines tutorial material with drill and practice questions
The interactive format provides instant feedback
What to look for in a laptop
- Processor
- Bus/Cache
- Power
- Battery Life
Foreign Key
used to cross reference data across tables
Virus, Trojan, Spyware, Worm
- Virus: computer code that you did not intend to put on your computer or run
- Worm: use network vulnerabilities to duplicate them. Unlike a virus, worms are separate programs, not hidden in something else
- Spyware: technology that collects information from computer users without their knowledge or consent
- Trojan: a program that appears desirable but actually contains something harmful
Basic Security Measures for your computer
- provide physical security for the machine
- disable file sharing, using a firewall
- disable a guest account
- install anti-virus software
- keep up-to-date with patches and service packs
Martin Wattenberg
Data Visualization
IBM's Watson
Louis von Ahn
Carnegie Mellon University
"Crowdsourcing"
reCaptcha: when scanning in books, object character recognition OCR sometimes makes mistakes; an anti-bot service that helps digitize books
About this deck
By: Anna Joyave
Created: 2011-05-04
Size: 80 flashcards
Views: 40
Created: 2011-05-04
Size: 80 flashcards
Views: 40
About StudyBlue
STUDYBLUE makes things that make you better at school.
Things like online flashcards with photos and audio.
Things like personalized quizzes and friendly reminders about when (and what) to study next.
Think of it as a digital backpack™: access to all of your study materials online and on your phone.
STUDYBLUE exists to make studying efficient and effective for every student, for free. Join us.
“Simply amazing. The flash cards are smooth, there are many different types of studying tools, and there is a great search engine. I praise you on the awesomeness.”
Dennis
Dennis