Chapter 1: Building Blocks of Programming

Size: px
Start display at page:

Download "Chapter 1: Building Blocks of Programming"

Transcription

1 Chapter 1: Building Blocks of Programming (Completion Time: 4 weeks) Topics: Pseudocode An introductions into express computational ideas in a language that can be translated to code. Used correctly, thinking in pseudocode may also help find bugs in your program before you even begin writing a single line of code! Scratch Create your first program using a drag and drop block based language called Scratch, which will allow students to learn concepts without getting mired in syntax. Syntax Moving away from a block-based language and more toward C, students will explore the details of how to express programming concepts in a text based language. Variables Develop an understanding of a variable as a container in which you can store things. Students will then be able to use and update their variables throughout the program. Data types Every time students declare a variable they must bringing it into existence and specify its type. Students will explore the different variable types in C as well as the differences between static and dynamic typing. Operators

2 Showing how we program arithmetic and assignment operations while noting the idiosyncrasies of left gets right where the expression x = 10 means x gets the value of 10. Boolean Expressions and Conditionals Conditional branching using Boolean expressions are how we as programmers make decisions in our programs. They empower us to take different forks in the road, allowing for different behaviors or different user experiences. Loops Instead of copying and pasting the same line(s) of code back-to-back, which can get clunky. All modern programming languages contain some variations on the construction of a loop, which permits iteration and repetition. Central Focus: Students begin to apply computational thinking, learning to express ideas first in pseudocode, then a visual language, Scratch, and finally, a text based language, C. They are introduced to various programming elements, and begin writing basic programs with proper syntax. Assignments: Programming Problem: Scratch To be completed with Scratch EU 1.1 Creative development can be an essential process for creating EU 1.2 Computing enables people to use creative development processes to EU 1.3 Computing can extend traditional forms of human expression and experience. EU 2.2 Multiple levels of abstraction are used to write programs or create other

3 EU 5.4 Programs are developed, maintained, and used by people for different LO Apply a creative development process when creating computational artifacts. LO Create a computational artifact for creative expression. LO Create a computational artifact using computing tools and techniques to solve a problem. LO Use computing tools and techniques for creative expression. The mission is, quite simply, to have fun with Scratch and implement a project of student s choice (be it an animation, a game, interactive art, or anything else). Programming Problem: Binary Bulbs To be completed with Scratch EU 1.2 Computing enables people to use creative development processes to EU 5.4 Programs are developed, maintained, and used by people for different LO Create a computational artifact using computing tools and techniques to solve a problem. LO Create a new computational artifact by combining or modifying existing artifacts. Students will modify an existing Scratch program to add functionality and additional features.

4 Programming Problem: Hello To be completed with Syntax EU 1.2 Computing enables people to use creative development processes to EU 1.3 Computing can extend traditional forms of human expression and experience. LO Create a computational artifact for creative expression. LO Use computing tools and techniques for creative expression. Students will setup their own instance of the CS50 IDE. Upon completion they will create, compile, and execute their first C program. Programming Problem: Fahrenheit To be completed with Operators EU 5.5 Programming uses mathematical and logical concepts. LO Employ appropriate mathematical and logical concepts in programming. Using C, students will build a program, which can convert from degrees Celsius to degrees Fahrenheit. Programming Problem: Pennies

5 To be completed with Operators EU 2.1 A variety of abstractions built on binary sequences can be used to represent all digital data. EU 2.2 Multiple levels of abstraction are used to write programs or create other EU 5.2 People write programs to execute algorithms. LO Describe the variety of abstractions used to represent data. LO Explain how programs implement algorithms. Write a program that calculates exponential growth based on an initial amount of pennies. Programming Problem: Skittles To be completed with Boolean Expressions and Conditionals EU 1.1 Creative development can be an essential process for creating EU 1.2 Computing enables people to use creative development processes to EU 1.3 Computing can extend traditional forms of human expression and experience. EU 2.1 A variety of abstractions built on binary sequences can be used to represent all digital data. EU 2.2 Multiple levels of abstraction are used to write programs or create other EU 4.1 Algorithms are precise sequences of instructions for processes that can be executed by a computer and are implemented using programming languages. EU 5.4 Programs are developed, maintained, and used by people for different EU 5.5 Programming uses mathematical and logical concepts.

6 LO Apply a creative development process when creating computational artifacts. LO Create a computational artifact for creative expression. LO Create a computational artifact using computing tools and techniques to solve a problem. LO Create a new computational artifact by combining or modifying existing artifacts. LO Use computing tools and techniques for creative expression. LO Explain how binary sequences are used to represent digital data. LO Develop an algorithm for implementation in a program. LO Express an algorithm in a language. LO Employ appropriate mathematical and logical concepts in programming. Students will begin using C functions to implement a pseudorandom guessing game. Programming Problem: Greedy To be completed with Boolean Expressions and Conditionals EU 1.1 Creative development can be an essential process for creating EU 2.2 Multiple levels of abstraction are used to write programs or create other EU 3.3 There are trade-offs when representing information as digital data. EU 4.1 Algorithms are precise sequences of instructions for processes that can be executed by a computer and are implemented using programming languages. EU 5.2 People write programs to execute algorithms.

7 EU 5.4 Programs are developed, maintained, and used by people for different EU 5.5 Programming uses mathematical and logical concepts. EU 7.4 Computing innovations influence and are influenced by the economic, social, and cultural contexts in which they are designed and used. LO Apply a creative development process when creating computational artifacts. LO Analyze how data representation, storage, security, and transmission of data involve computational manipulation of information. LO Develop an algorithm for implementation in a program. LO Express an algorithm in a language. LO Explain how programs implement algorithms. LO Employ appropriate mathematical and logical concepts in programming. LO Explain the connections between computing and real-world contexts, including economic, social, and cultural contexts. Students will implement algorithms to create a program that will print the least number of coins needed to give a specific amount of money. Programming Problem: ISBN To be completed with Loops EU 1.1 Creative development can be an essential process for creating EU 1.2 Computing enables people to use creative development processes to EU 1.3 Computing can extend traditional forms of human expression and experience. EU 2.1 A variety of abstractions built on binary sequences can be used to represent all digital data.

8 EU 2.2 Multiple levels of abstraction are used to write programs or create other EU 4.1 Algorithms are precise sequences of instructions for processes that can be executed by a computer and are implemented using programming languages. EU 5.4 Programs are developed, maintained, and used by people for different EU 5.5 Programming uses mathematical and logical concepts. LO Apply a creative development process when creating computational artifacts. LO Create a computational artifact for creative expression. LO Create a computational artifact using computing tools and techniques to solve a problem. LO Create a new computational artifact by combining or modifying existing artifacts. LO Use computing tools and techniques for creative expression. LO Describe the variety of abstractions used to represent data. LO Develop an algorithm for implementation in a program. LO Express an algorithm in a language. LO Employ appropriate mathematical and logical concepts in programming. The goal is to write a program to validate ISBN numbers by implementing a provided algorithm. Programming Problem: Mario To be completed with Loops

9 EU 1.2 Computing enables people to use creative development processes to EU 2.1 A variety of abstractions built on binary sequences can be used to represent all digital data. EU 2.2 Multiple levels of abstraction are used to write programs or create other EU 4.1 Algorithms are precise sequences of instructions for processes that can be executed by a computer and are implemented using programming languages. EU 5.4 Programs are developed, maintained, and used by people for different EU 5.5 Programming uses mathematical and logical concepts. LO Create a computational artifact using computing tools and techniques to solve a problem. LO Describe the variety of abstractions used to represent data. LO Develop an algorithm for implementation in a program. LO Express an algorithm in a language. LO Employ appropriate mathematical and logical concepts in programming. Write a program, using loops, to print out the exact number of spaces and hashes to form a half pyramid in the terminal. Programming Problem: Credit (HACKER) To be completed with Loops EU 1.1 Creative development can be an essential process for creating

10 EU 1.2 Computing enables people to use creative development processes to EU 1.3 Computing can extend traditional forms of human expression and experience. EU 2.1 A variety of abstractions built on binary sequences can be used to represent all digital data. EU 2.2 Multiple levels of abstraction are used to write programs or create other EU 4.1 Algorithms are precise sequences of instructions for processes that can be executed by a computer and are implemented using programming languages. EU 5.4 Programs are developed, maintained, and used by people for different EU 5.5 Programming uses mathematical and logical concepts. LO Apply a creative development process when creating computational artifacts. LO Create a computational artifact for creative expression. LO Create a computational artifact using computing tools and techniques to solve a problem. LO Create a new computational artifact by combining or modifying existing artifacts. LO Use computing tools and techniques for creative expression. LO Describe the variety of abstractions used to represent data. LO Develop an algorithm for implementation in a program. LO Express an algorithm in a language. LO Employ appropriate mathematical and logical concepts in programming. Students will write a program, which takes in a credit card number and returns the company it s from, or that it s an invalid number.

11 Essential Questions: How are algorithms implemented and executed on computers and computational devices? Why are some languages better than others when used to implement algorithms? How can use of variables, loops, and conditionals improve the design of a program? How do variables, loops, and conditionals allow for more complexity in programs? How do computer programs implement algorithms? How do people develop and test computer programs? Which mathematical and logical concepts are fundamental to computer programming? How are vastly different kinds of data, physical phenomena, and mathematical concepts represented on a computer? Ways to Launch the Lesson: Pseudocode Have students choose an algorithmic math procedure they know how to do (For example, solving the quadratic equation), and have them express the procedure in words. If there s time, students can swap procedures and try to guess what the written procedure is supposed to do. Scratch Because this topic is very specific, a teacher could introduce Scratch by having students play some games created in Scratch, either individually or as a class. The game used in lecture is: Syntax Prepare syntactically incorrect English sentences (missing punctuation, etc). Have students try to decode their meaning. Are there sentences that could mean more than one thing? Explain why computers cannot compile programs with incorrect syntax.

12 Variables Run a demonstration where selected students try to sum up a number via one sheet of paper without talking. Invite around 4 students to the front, and draw a box on the whiteboard. The first student writes a value there. The other students write a number value on a sheet of paper. Have each student add their number to the number on the board, thus updating the variable. Data Types Have students think of a list of how many types of data they think a computer can store. Likely, you ll end up with responses like pictures, videos which is an opportunity to revisit how bits and bytes store data. Operators Have students think about operations from math. Have them review the order of operations. Use examples of expressions with similar numbers and operations but different parentheses to show the importance of placement both in math and computer science alike. Boolean Expressions and Conditionals Have students articulate how they have their scratch programs make decisions. When have we decided the cat should meow? (Using a Boolean). Loops Have students list the most repetitive tasks they have to do in everyday life (for instance, folding each t-shirt, washing each dish, etc). Discuss when would loops be useful in a real-world context. Demos and Activities: Everyday Algorithms in Real Life Have students use their written assignment 0-2. Students should volunteer to demonstrate another student s algorithm, to illustrate how quickly things can go off track Materials:

13 If a student turns in a particularly compelling algorithm (an interesting task), it may be worth bringing in materials so that the instructions can be carried out. While Loops in Real Life Have a student instruct another student to walk from one location to another location in the room. The challenge: You can only instruct one step at a time. Then, introduce loops and conditions, so that the statement walk forward until you reach a wall is valid. Error Checking As David does in lecture, start with a simple but syntactically correct program. Then, add functionality to it but make syntax errors along the way, soliciting input from the class to fix them.

Chapter 5: Networking and the Internet

Chapter 5: Networking and the Internet Chapter 5: Networking and the Internet (Completion Time: 3 weeks) Topics: Internet Basics An overview of how the internet works and how we as users interact with it. This topic can also be used as sort

More information

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed

More information

COP 1220 Introduction to Programming in C++ Course Justification

COP 1220 Introduction to Programming in C++ Course Justification Course Justification This course is a required first programming C++ course in the following degrees: Associate of Arts in Computer Science, Associate in Science: Computer Programming and Analysis; Game

More information

Intensive Introduction to Computer Science. Course Overview Programming in Scratch

Intensive Introduction to Computer Science. Course Overview Programming in Scratch Unit 1, Part 1 Intensive Introduction to Computer Science Course Overview Programming in Scratch Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Welcome to CS S-111! Computer science

More information

Unit E Step-by-Step: Programming with Python

Unit E Step-by-Step: Programming with Python Unit E Step-by-Step: Programming with Python Computer Concepts 2016 ENHANCED EDITION 1 Unit Contents Section A: Hello World! Python Style Section B: The Wacky Word Game Section C: Build Your Own Calculator

More information

C++ Programming Language Lecture 2 Problem Analysis and Solution Representation

C++ Programming Language Lecture 2 Problem Analysis and Solution Representation C++ Programming Language Lecture 2 Problem Analysis and Solution Representation By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department Program Development Cycle Program development

More information

WELCOME! (download slides and.py files and follow along!) LECTURE 1

WELCOME! (download slides and.py files and follow along!) LECTURE 1 WELCOME! (download slides and.py files and follow along!) 6.0001 LECTURE 1 6.0001 LECTURE 1 1 TODAY course info what is computation python basics mathematical operations python variables and types NOTE:

More information

AP Computer Science A Course Syllabus

AP Computer Science A Course Syllabus AP Computer Science A Course Syllabus Textbook: Litvin, Maria and Litvin, Gary. Java Methods: Object-Oriented Programming and Data Structures. Skylight Publishing, 2011 http://www.skylit.com Course Description:

More information

Outline. Program development cycle. Algorithms development and representation. Examples.

Outline. Program development cycle. Algorithms development and representation. Examples. Outline Program development cycle. Algorithms development and representation. Examples. 1 Program Development Cycle Program development cycle steps: Problem definition. Problem analysis (understanding).

More information

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics Zarqa University Faculty: Information Technology Department: Computer Science Course title: Programming LAB 1 (1501111) Instructor: Lecture s time: Semester: Office Hours: Course description: This introductory

More information

Discussion 1H Notes (Week 2, 4/8) TA: Brian Choi Section Webpage:

Discussion 1H Notes (Week 2, 4/8) TA: Brian Choi Section Webpage: Discussion 1H Notes (Week 2, 4/8) TA: Brian Choi (schoi@cs.ucla.edu) Section Webpage: http://www.cs.ucla.edu/~schoi/cs31 Variables You have to instruct your computer every little thing it needs to do even

More information

Fundamentals of Computing and Digital Literacy. Sample. Marking Scheme

Fundamentals of Computing and Digital Literacy. Sample. Marking Scheme Fundamentals of Computing and Digital Literacy Sample Marking Scheme This Marking Scheme has been prepared as a guide only to markers. This is not a set of model answers, nor is the Marking Scheme exclusive,

More information

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA 1 TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by M. Guzdial and B. Ericson, and instructor materials prepared

More information

7/8/10 KEY CONCEPTS. Problem COMP 10 EXPLORING COMPUTER SCIENCE. Algorithm. Lecture 2 Variables, Types, and Programs. Program PROBLEM SOLVING

7/8/10 KEY CONCEPTS. Problem COMP 10 EXPLORING COMPUTER SCIENCE. Algorithm. Lecture 2 Variables, Types, and Programs. Program PROBLEM SOLVING KEY CONCEPTS COMP 10 EXPLORING COMPUTER SCIENCE Lecture 2 Variables, Types, and Programs Problem Definition of task to be performed (by a computer) Algorithm A particular sequence of steps that will solve

More information

Lesson 3: Basic Programming Concepts

Lesson 3: Basic Programming Concepts 3 ICT Gaming Essentials Lesson 3: Basic Programming Concepts LESSON SKILLS After completing this lesson, you will be able to: Explain the types and uses of variables and operators in game programming.

More information

Appendix A: Objectives and Courseware Locations

Appendix A: Objectives and Courseware Locations Appendix A A-1 Appendix A: Objectives and Courseware Locations The course and this appendix are designed to help students prepare for the digital certificate exam. Students can use this appendix as a study

More information

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently.

Definition: A data structure is a way of organizing data in a computer so that it can be used efficiently. The Science of Computing I Lesson 4: Introduction to Data Structures Living with Cyber Pillar: Data Structures The need for data structures The algorithms we design to solve problems rarely do so without

More information

COP 1170 Introduction to Computer Programming using Visual Basic

COP 1170 Introduction to Computer Programming using Visual Basic Course Justification This course is the first computer programming course in the Computer Information Systems Associate in Arts degree program; is required in the Computer Programming and Analysis, Database

More information

Organisation. Assessment

Organisation. Assessment Week 1 s s Getting Started 1 3 4 5 - - Lecturer Dr Lectures Tuesday 1-13 Fulton House Lecture room Tuesday 15-16 Fulton House Lecture room Thursday 11-1 Fulton House Lecture room Friday 10-11 Glyndwr C

More information

CS 241 Data Organization. August 21, 2018

CS 241 Data Organization. August 21, 2018 CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/

More information

Foundations, Reasoning About Algorithms, and Design By Contract CMPSC 122

Foundations, Reasoning About Algorithms, and Design By Contract CMPSC 122 Foundations, Reasoning About Algorithms, and Design By Contract CMPSC 122 I. Logic 101 In logic, a statement or proposition is a sentence that can either be true or false. A predicate is a sentence in

More information

Visual Representations: Geometry in Art. Common Core State Standards. Students will decompose polygons into triangles, rectangles, and trapezoids.

Visual Representations: Geometry in Art. Common Core State Standards. Students will decompose polygons into triangles, rectangles, and trapezoids. Lesson in Action Visual Representations: Geometry in Art AT A GLANCE Launch Warm up with a review Have students demonstrate and explain different solutions to the Compare and contrast the two visual representations.

More information

Welcome to CS61A! Last modified: Thu Jan 23 03:58: CS61A: Lecture #1 1

Welcome to CS61A! Last modified: Thu Jan 23 03:58: CS61A: Lecture #1 1 Welcome to CS61A! This is a course about programming, which is the art and science of constructing artifacts ( programs ) that perform computations or interact with the physical world. To do this, we have

More information

Curriculum Map Grade(s): Subject: AP Computer Science

Curriculum Map Grade(s): Subject: AP Computer Science Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History

More information

CMPSCI 187: Programming With Data Structures. Lecture 5: Analysis of Algorithms Overview 16 September 2011

CMPSCI 187: Programming With Data Structures. Lecture 5: Analysis of Algorithms Overview 16 September 2011 CMPSCI 187: Programming With Data Structures Lecture 5: Analysis of Algorithms Overview 16 September 2011 Analysis of Algorithms Overview What is Analysis of Algorithms? L&C s Dishwashing Example Being

More information

Introduction to Computer Science with Python Course Syllabus

Introduction to Computer Science with Python Course Syllabus CodeHS Introduction to Computer Science with Python Course Syllabus Course Overview and Goals The CodeHS Introduction to Computer Science in Python course teaches the fundamentals of computer programming

More information

OUTCOMES BASED LEARNILNG MATRIX. Course: CTIM281 Software Design and Development Department: Computer Technology and Information Management

OUTCOMES BASED LEARNILNG MATRIX. Course: CTIM281 Software Design and Development Department: Computer Technology and Information Management OUTCOMES BASED LEARNILNG MATRIX Course: CTIM281 Software Design and Development (3 credits, 60 hours) Department: Computer Technology and Information Management Description: This course presents the fundamentals

More information

CS1 Lecture 3 Jan. 18, 2019

CS1 Lecture 3 Jan. 18, 2019 CS1 Lecture 3 Jan. 18, 2019 Office hours for Prof. Cremer and for TAs have been posted. Locations will change check class website regularly First homework assignment will be available Monday evening, due

More information

Diploma Of Computing

Diploma Of Computing Diploma Of Computing Course Outline Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June, October 022638B

More information

CPS122 Lecture: From Python to Java last revised January 4, Objectives:

CPS122 Lecture: From Python to Java last revised January 4, Objectives: Objectives: CPS122 Lecture: From Python to Java last revised January 4, 2017 1. To introduce the notion of a compiled language 2. To introduce the notions of data type and a statically typed language 3.

More information

FUNctions. Lecture 03 Spring 2018

FUNctions. Lecture 03 Spring 2018 FUNctions Lecture 03 Spring 2018 Announcements PS0 Due Tomorrow at 11:59pm WS1 Released soon, due next Friday 2/2 at 11:59pm Not quite understand a topic in lecture this week? Come to Tutoring Tomorrow

More information

CS1 Lecture 3 Jan. 22, 2018

CS1 Lecture 3 Jan. 22, 2018 CS1 Lecture 3 Jan. 22, 2018 Office hours for me and for TAs have been posted, locations will change check class website regularly First homework available, due Mon., 9:00am. Discussion sections tomorrow

More information

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++ Introduction to Programming in C++ Course Text Programming in C++, Zyante, Fall 2013 edition. Course book provided along with the course. Course Description This course introduces programming in C++ and

More information

COURSE OF STUDY UNIT PLANNING GUIDE COMPUTER SCIENCE 1 FOR: 5 CREDITS GRADE LEVEL: 9-12 FULL-YEAR COURSE PREPARED BY: SUSIE EISEN

COURSE OF STUDY UNIT PLANNING GUIDE COMPUTER SCIENCE 1 FOR: 5 CREDITS GRADE LEVEL: 9-12 FULL-YEAR COURSE PREPARED BY: SUSIE EISEN COURSE OF STUDY UNIT PLANNING GUIDE FOR: COMPUTER SCIENCE 1 5 CREDITS GRADE LEVEL: 9-12 FULL-YEAR COURSE PREPARED BY: SUSIE EISEN SHANNON WARNOCK, SUPERVISOR OF MATHEMATICS AND SCIENCE JULY 2017 DUMONT

More information

Exponential Equations

Exponential Equations Exponential Equations Recursive routines are useful for seeing how a sequence develops and for generating the first few terms. But, as you learned in Chapter 3, if you re looking for the 50th term, you

More information

Computing and compilers

Computing and compilers Computing and compilers Comp Sci 1570 to Outline 1 2 3 4 5 Evaluate the difference between hardware and software Find out about the various types of software Get a high level understanding of how program

More information

HIGLEY UNIFIED SCHOOL DISTRICT 2016/2017 INSTRUCTIONAL ALIGNMENT

HIGLEY UNIFIED SCHOOL DISTRICT 2016/2017 INSTRUCTIONAL ALIGNMENT HIGLEY UNIFIED SCHOOL DISTRICT 2016/2017 INSTRUCTIONAL ALIGNMENT Third Grade Quarter 4 Unit 10: Geometry and Measurement Word Problems Approximately 40 Days Begin around March 27 th This 40-day final unit

More information

Python The way of a program. Srinidhi H Asst Professor Dept of CSE, MSRIT

Python The way of a program. Srinidhi H Asst Professor Dept of CSE, MSRIT Python The way of a program Srinidhi H Asst Professor Dept of CSE, MSRIT 1 Problem Solving Problem solving means the ability to formulate problems, think creatively about solutions, and express a solution

More information

Working with Transformations on the Coordinate Plane

Working with Transformations on the Coordinate Plane Working with Transformations on the Coordinate Plane Movies create the illusion of movement by showing us 24 images per second. When the human eye processes 24 images per second it is interpreted in our

More information

College Board. AP CS A Labs Magpie, Elevens, and Picture Lab. New York: College Entrance Examination Board, 2013.

College Board. AP CS A Labs Magpie, Elevens, and Picture Lab. New York: College Entrance Examination Board, 2013. AP Computer Science August 2014 June 2015 Class Description AP Computer Science is the second class after Pre-AP Computer Science that together teach the fundamentals of object-oriented programming and

More information

Objective- Students will be able to use the Order of Operations to evaluate algebraic expressions. Evaluating Algebraic Expressions

Objective- Students will be able to use the Order of Operations to evaluate algebraic expressions. Evaluating Algebraic Expressions Objective- Students will be able to use the Order of Operations to evaluate algebraic expressions. Evaluating Algebraic Expressions Variable is a letter or symbol that represents a number. Variable (algebraic)

More information

An Introduction to Python (TEJ3M & TEJ4M)

An Introduction to Python (TEJ3M & TEJ4M) An Introduction to Python (TEJ3M & TEJ4M) What is a Programming Language? A high-level language is a programming language that enables a programmer to write programs that are more or less independent of

More information

Algorithmic Complexity

Algorithmic Complexity Algorithmic Complexity Algorithmic Complexity "Algorithmic Complexity", also called "Running Time" or "Order of Growth", refers to the number of steps a program takes as a function of the size of its inputs.

More information

CSE 115. Introduction to Computer Science I

CSE 115. Introduction to Computer Science I CSE 115 Introduction to Computer Science I Note about posted slides The slides we post will sometimes contain additional slides/content, beyond what was presented in any one lecture. We do this so the

More information

Full file at

Full file at Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class

More information

Darrell Bethea May 25, 2011

Darrell Bethea May 25, 2011 Darrell Bethea May 25, 2011 Yesterdays slides updated Midterm on tomorrow in SN014 Closed books, no notes, no computer Program 3 due Tuesday 2 3 A whirlwind tour of almost everything we have covered so

More information

Computing. Curriculum booklet. enquiries:

Computing. Curriculum booklet.   enquiries: Computing Curriculum booklet www.bba.bristol.sch.uk enquiries: info@bba.bristol.sch.uk Tel: 0117 3772700 fax: 0117 3772701 Speedwell Road, Bristol, BS15 1NU IT is all around us and is embedded in everything

More information

CPSC 320: Intermediate Algorithm Design and Analysis. Tutorial: Week 3

CPSC 320: Intermediate Algorithm Design and Analysis. Tutorial: Week 3 CPSC 320: Intermediate Algorithm Design and Analysis Author: Susanne Bradley Tutorial: Week 3 At the time of this week s tutorial, we were approaching the end of our stable matching unit and about to start

More information

CS 135 Lab Assignments Week 1

CS 135 Lab Assignments Week 1 CS 135 Lab Assignments Week 1 Professor: Matt B. Pedersen This handout is the assignment that you must finish for the lab portion of the course in week 1. You must finish the assignments yourself; if you

More information

Chapter 3. More Flow of Control. Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Chapter 3. More Flow of Control. Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3 More Flow of Control Overview 3.1 Using Boolean Expressions 3.2 Multiway Branches 3.3 More about C++ Loop Statements 3.4 Designing Loops Slide 3-3 Flow Of Control Flow of control refers to the

More information

Unit 6 - Geometry. Standards

Unit 6 - Geometry. Standards Unit 6 - Geometry Content Area: Mathematics Course(s): Mathematics Time Period: Week 27 Length: 5 Weeks Status: Published Unit Overview In this unit, students utilize their previous knowledge in order

More information

Primitive Data, Variables, and Expressions; Simple Conditional Execution

Primitive Data, Variables, and Expressions; Simple Conditional Execution Unit 2, Part 1 Primitive Data, Variables, and Expressions; Simple Conditional Execution Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Overview of the Programming Process Analysis/Specification

More information

Except as otherwise noted, the content of this document is licensed under the Creative Commons Attribution 3.0 License

Except as otherwise noted, the content of this document is licensed under the Creative Commons Attribution 3.0 License Except as otherwise noted, the content of this document is licensed under the Creative Commons Attribution 3.0 License http://creativecommons.org/licenses/by/3.0 Agenda Day 1 Introduction What is a computer

More information

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Instructor: Ronald C. Persin Course Resources Java Software Solutions for AP Computer Science, A. J. Lewis, W. Loftus, and C. Cocking,

More information

Spelling-Punctuation-Grammar Subject How will you promote high standards within this module? Term Duration (approx.)

Spelling-Punctuation-Grammar Subject How will you promote high standards within this module? Term Duration (approx.) Term Cycle 1 6 lessons HTML Correct syntax needed for coding to work. Further coding units in Years 8 and 9 can be linked back to the experiences of using HTML. How to use HTML tags to create a range of

More information

Vocabulary Cards and Word Walls. Ideas for everyday use of a Word Wall to develop vocabulary knowledge and fluency by the students

Vocabulary Cards and Word Walls. Ideas for everyday use of a Word Wall to develop vocabulary knowledge and fluency by the students Vocabulary Cards and Word Walls The vocabulary cards in this file match the Common Core Georgia Performance Standards. The cards are arranged alphabetically. Each card has three sections. o Section 1 is

More information

CMPT 120 Control Structures in Python. Summer 2012 Instructor: Hassan Khosravi

CMPT 120 Control Structures in Python. Summer 2012 Instructor: Hassan Khosravi CMPT 120 Control Structures in Python Summer 2012 Instructor: Hassan Khosravi The If statement The most common way to make decisions in Python is by using the if statement. The if statement allows you

More information

nostarch.com/pfk For bulk orders, please contact us at

nostarch.com/pfk For bulk orders, please contact us at nostarch.com/pfk For bulk orders, please contact us at sales@nostarch.com. Teacher: Date/Period: Subject: Python Programming Class: Topic: #1 - Getting Started Duration: Up to 50 min. Objectives: Install

More information

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend Email: jtownsend@pkwy.k12.mo.us Course Description: The material for this course is the equivalent of one to two semesters of an entry

More information

Section 1.1 Definitions and Properties

Section 1.1 Definitions and Properties Section 1.1 Definitions and Properties Objectives In this section, you will learn to: To successfully complete this section, you need to understand: Abbreviate repeated addition using Exponents and Square

More information

Algorithms, Part 2 of 3. Problem Solving. Problem Solving (con t) Topics Problem Solving Examples Pseudocode Control Structures

Algorithms, Part 2 of 3. Problem Solving. Problem Solving (con t) Topics Problem Solving Examples Pseudocode Control Structures Algorithms, Part 2 of 3 Topics Problem Solving Examples Pseudocode Control Structures Reading Section 3.3-3.10 (don t worry about understanding the C code, just the pseudocode) Problem Solving Decode this

More information

x y

x y 10. LECTURE 10 Objectives I understand the difficulty in finding an appropriate function for a data set in general. In some cases, I can define a function type that may fit a data set well. Last time,

More information

CS10: The Beauty and Joy of Computing

CS10: The Beauty and Joy of Computing CS10: The Beauty and Joy of Computing Lecture #7: Algorithm Complexity TA Jon Kotker (2010-09-27) LEDs + Math = Art Leo Villareal combines modern LED control systems to produce contemporary modern art.

More information

HW DUE Floating point

HW DUE Floating point Numerical and Scientific Computing with Applications David F. Gleich CS 314, Purdue In this class: Understand the need for floating point arithmetic and some alternatives. Understand how the computer represents

More information

Building Java Programs. Chapter 2: Primitive Data and Definite Loops

Building Java Programs. Chapter 2: Primitive Data and Definite Loops Building Java Programs Chapter 2: Primitive Data and Definite Loops Copyright 2008 2006 by Pearson Education 1 Lecture outline data concepts Primitive types: int, double, char (for now) Expressions: operators,

More information

Algorithms, Part 2 of 3. Topics Problem Solving Examples Pseudocode Control Structures

Algorithms, Part 2 of 3. Topics Problem Solving Examples Pseudocode Control Structures Algorithms, Part 2 of 3 Topics Problem Solving Examples Pseudocode Control Structures 1 Problem Solving Decode this sentence: Pdeo eo pda yknnayp wjosan. We have just come up with a specific solution to

More information

Basic: Communities, Week 3 Post Office, Bills and Junk Mail

Basic: Communities, Week 3 Post Office, Bills and Junk Mail Basic: Communities, Week 3 Post Office, Bills and Junk Mail Unit objective: Students will be able navigate the post office, address and write a letter, interpret a simple bill and write a check. Monday

More information

Programming for Problem Solving 105A L T P Credit Major Minor Total Time

Programming for Problem Solving 105A L T P Credit Major Minor Total Time ES- Programming for Problem Solving 105A L T P Credit Major Minor Total Time Test Test 3 - - 3 75 25 100 3h Purpose To familiarize the students with the basics of Computer System and C Programming Course

More information

Error Detection and Parity Lesson Plan

Error Detection and Parity Lesson Plan Error Detection and Parity Lesson Plan Overview Error Detection and Parity Summary When data is stored on a disk or transmitted from one computer to another, we usually assume that it doesn t get changed

More information

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved. Assoc. Prof. Dr. Marenglen Biba Before writing a program to solve a problem, have a thorough understanding of the problem and a carefully planned approach to solving it. Understand the types of building

More information

CS 261 Spring 2013 Midterm

CS 261 Spring 2013 Midterm CS 261 Spring 2013 Midterm Name: Student ID: 1: 2: 3: 4: 5: 6: Total: 1. (20 points) Suppose that we implement a simplified version of the dynamic array data structure in which the amount of memory allocated

More information

Discrete structures - CS Fall 2017 Questions for chapter 2.1 and 2.2

Discrete structures - CS Fall 2017 Questions for chapter 2.1 and 2.2 Discrete structures - CS1802 - Fall 2017 Questions for chapter 2.1 and 2.2 1. (a) For the following switch diagrams, write the corresponding truth table and decide whether they correspond to one of the

More information

What we will do today Explain and look at examples of. Programs that examine data. Data types. Topic 4. variables. expressions. assignment statements

What we will do today Explain and look at examples of. Programs that examine data. Data types. Topic 4. variables. expressions. assignment statements Topic 4 Variables Once a programmer has understood the use of variables, he has understood the essence of programming -Edsger Dijkstra What we will do today Explain and look at examples of primitive data

More information

CSC258: Computer Organization. Memory Systems

CSC258: Computer Organization. Memory Systems CSC258: Computer Organization Memory Systems 1 Summer Independent Studies I m looking for a few students who will be working on campus this summer. In addition to the paid positions posted earlier, I have

More information

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011).

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011). AP Computer Science A Advanced Placement Computer Science A is a fast-paced course equivalent to a college introductory programming class. Students will learn about the exciting kinds of problems tackled

More information

Anjuli Kannan. Google Earth Driving Simulators (3:00-7:00)

Anjuli Kannan. Google Earth Driving Simulators (3:00-7:00) Google Earth Driving Simulators (3:00-7:00) An example of what you can do by learning the GoogleEarth API, once you know how to write code Google has published such an API so that people can make programs

More information

Developing Algorithms

Developing Algorithms This scheme gives pupils a practical looking at developing algorithms firstly by looking at abstraction, decomposition and algorithmic thinking. Students then learn about the different techniques used

More information

Lesson 1.9 No learning goal mapped to this lesson Compare whole numbers up to 100 and arrange them in numerical. order.

Lesson 1.9 No learning goal mapped to this lesson Compare whole numbers up to 100 and arrange them in numerical. order. Unit 1 Numbers and Routines 1 a D Find values of coin and bill combinations (Lessons 1.2, 1.6) 2.1.3 Identify numbers up to 100 in various combinations of tens and ones. ISTEP+ T1 #9-10 2.2.1 Model addition

More information

Eight units must be completed and passed to be awarded the Diploma.

Eight units must be completed and passed to be awarded the Diploma. Diploma of Computing Course Outline Campus Intake CRICOS Course Duration Teaching Methods Assessment Course Structure Units Melbourne Burwood Campus / Jakarta Campus, Indonesia March, June, October 022638B

More information

COMP 161 Lecture Notes 16 Analyzing Search and Sort

COMP 161 Lecture Notes 16 Analyzing Search and Sort COMP 161 Lecture Notes 16 Analyzing Search and Sort In these notes we analyze search and sort. Counting Operations When we analyze the complexity of procedures we re determine the order of the number of

More information

OUTCOMES BASED LEARNING MATRIX

OUTCOMES BASED LEARNING MATRIX OUTCOMES BASED LEARNING MATRIX Course: CTIM 372 Advanced Programming in C++ Department: Computer Technology and Information Management 3 credits/4 contact hours Description: This course is a continuation

More information

Dr. Christopher Mitchell Thomas Dickerson

Dr. Christopher Mitchell Thomas Dickerson Dr. Christopher Mitchell Thomas Dickerson March 2, 2018 with This presentation: http://bit.ly/2mqocdu Dr. Christopher Mitchell ( Kerm Martian ) (Almost-Dr.) Thomas Dickerson ( elfprince13 ) Teacher, electrical

More information

AP CSA 3rd Period MR. D. Course Map

AP CSA 3rd Period MR. D. Course Map AP CSA 3rd Period MR. D. Course Map AP Computer Science in Java (Mocha) Aug. 10, Aug. 11, Aug. 14, Aug. 15, 1.1.1 Introduction to With Karel 1.1.2 Quiz: Karel Commands 1.1.3 Our First Karel Program 1.1.4

More information

Curriculum Mapping for National Curriculum Statement Grades R-12 and Oracle Academy.

Curriculum Mapping for National Curriculum Statement Grades R-12 and Oracle Academy. Curriculum Mapping for National Curriculum Statement Grades R-12 and Oracle Academy. Contents Executive Summary... 3 IT Curriculum Overview... 3 Aims... 3 Oracle Academy Introduction to Computer Science...

More information

Lesson 00 of 36 Learning about Excel Projectable

Lesson 00 of 36 Learning about Excel Projectable Lesson 00 of 6 Learning about Excel Projectable Lesson 5 of 5 Dividing a one-digit divisor into a three-digit dividend with a two-digit quotient with regrouping and remainders CLASSROOM LESSONS Each file

More information

More about Loops and Decisions

More about Loops and Decisions More about Loops and Decisions 5 In this chapter, we continue to explore the topic of repetition structures. We will discuss how loops are used in conjunction with the other control structures sequence

More information

Grade 1 ISTEP+ T1 #1-4 ISTEP+ T1 #5

Grade 1 ISTEP+ T1 #1-4 ISTEP+ T1 #5 Unit 1 Establishing Routines 1 a D Count by 5's to 40. (Lessons 1.4, 1.7, and 1.11) 1 b D Count by 2's to 40. (Lessons 1.9-1.13) 1 c D Begin ongoing digit-writing practice. (Lessons 1.1-1.6) (Lessons 1.4,

More information

Computer Programming : C++

Computer Programming : C++ The Islamic University of Gaza Engineering Faculty Department of Computer Engineering Fall 2017 ECOM 2003 Muath i.alnabris Computer Programming : C++ Experiment #1 Basics Contents Structure of a program

More information

Objectives. Chapter 4: Control Structures I (Selection) Objectives (cont d.) Control Structures. Control Structures (cont d.) Relational Operators

Objectives. Chapter 4: Control Structures I (Selection) Objectives (cont d.) Control Structures. Control Structures (cont d.) Relational Operators Objectives Chapter 4: Control Structures I (Selection) In this chapter, you will: Learn about control structures Examine relational and logical operators Explore how to form and evaluate logical (Boolean)

More information

A Survey of Mathematics with Applications 8 th Edition, 2009

A Survey of Mathematics with Applications 8 th Edition, 2009 A Correlation of A Survey of Mathematics with Applications 8 th Edition, 2009 South Carolina Discrete Mathematics Sample Course Outline including Alternate Topics and Related Objectives INTRODUCTION This

More information

AP Computer Science A Syllabus

AP Computer Science A Syllabus AP Computer Science A Syllabus Course Overview The focus of this class is structured logic with an emphasis on developing simple, elegant algorithms and thinking in an object-oriented manner. The Java

More information

Final Examination. Preliminaries. Compilers (CS F) Due: 11 a.m., Friday, 20 December 2002

Final Examination. Preliminaries. Compilers (CS F) Due: 11 a.m., Friday, 20 December 2002 Compilers (CS362 2002F) Final Examination Due: 11 a.m., Friday, 20 December 2002 Preliminaries Problems Problem 1: A DFA for C Comments Problem 2: Disambiguating Grammars Problem 3: Anonymous Arrays Problem

More information

Week 5, continued. This is CS50. Harvard University. Fall Cheng Gong

Week 5, continued. This is CS50. Harvard University. Fall Cheng Gong This is CS50. Harvard University. Fall 2014. Cheng Gong Table of Contents News... 1 Buffer Overflow... 1 Malloc... 6 Linked Lists... 7 Searching... 13 Inserting... 16 Removing... 19 News Good news everyone!

More information

CSc 10200! Introduction to Computing. Lecture 1 Edgardo Molina Fall 2013 City College of New York

CSc 10200! Introduction to Computing. Lecture 1 Edgardo Molina Fall 2013 City College of New York CSc 10200! Introduction to Computing Lecture 1 Edgardo Molina Fall 2013 City College of New York 1 Introduction to Computing Lectures: Tuesday and Thursday s (2-2:50 pm) Location: NAC 1/202 Recitation:

More information

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Fundamentals (2014)

CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Fundamentals (2014) CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Fundamentals (2014) CSTA Website Oracle Website Oracle Contact http://csta.acm.org/curriculum/sub/k12standards.html https://academy.oracle.com/oa-web-introcs-curriculum.html

More information

Standard 2: Problem Solving

Standard 2: Problem Solving Unit 2 Day 17 Standard 2: Problem Solving Objective 1: Students will be given opportunities to become "computational thinkers" by applying a variety of problem-solving techniques as they create solutions

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Syllabus Web Page http://www.cs.northwestern.edu/~pdinda/icsclass Instructor Peter A. Dinda 1890 Maple Avenue, Room 338 847-467-7859 pdinda@cs.northwestern.edu Office hours:

More information

3.1. Exponential Functions. Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

3.1. Exponential Functions. Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3.1 Exponential Functions Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Quick Review Evaluate the expression without using a calculator. 3 1. -125 2. 3 27 64 3. 27 4/3 Rewrite

More information

CMSC201 Computer Science I for Majors

CMSC201 Computer Science I for Majors CMSC201 Computer Science I for Majors Lecture 06 Decision Structures Prof. Katherine Gibson Prof. Jeremy Dixon Based on concepts from: https://blog.udemy.com/python-if-else/ Last Class We Covered Just

More information

CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points

CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points CS 1803 Pair Homework 3 Calculator Pair Fun Due: Wednesday, September 15th, before 6 PM Out of 100 points Files to submit: 1. HW3.py This is a PAIR PROGRAMMING Assignment: Work with your partner! For pair

More information