Foundations of Programming: Introduction to Programming

Slides:



Advertisements
Similar presentations
Introduction to Computer Programming in C
Advertisements

Michael Emerton
Introduction to CSCI 1311 Dr. Mark C. Lewis
AP CSP: Sending Binary Messages
JavaScript: API’s, Parameters and Creating Functions with Parameters
AP CSP: Pixelation – B&W/Color Images
Digital Information Technology(ECS)
Should you ever judge a book by its cover?
The Need for Algorithms
Creativity of Algorithms & Simple JavaScript Commands
JavaScript/ App Lab Programming:
Google Classroom Code:
AP Computer Science Principles
Situated supervision Ability to read the situation ….
Welcome to: An Introduction to Painting and Drawing!
Introduction: Computer programming
Computer Programming.
AP CSP: The Need for Programming Languages and Algorithms
CS 3120 USER INTERFACE DESIGN, IMPLEMENTATION AND EVALUATION (UIDIE)
Vocabulary Algorithm - A precise sequence of instructions for processes that can be executed by a computer Low level programming language: A programming.
Unit 3: Lesson 1 - The Need for Programming Languages
CSc 1302 Principles of Computer Science II
Every Day We're PROGRAMMING
Welcome back Year 12 from Computer Science Department
Lab Introduction Installing Python
Assessment of English Learners
CSC 221: Computer Programming I Spring 2010
GC101 Introduction to computers and programs
CSC 221: Computer Programming I Fall 2005
Treasure Hunt Game Unit Lesson 0
The Need for Programming Languages
Introduction to Programmng in Python
The Need for Algorithms 2 days
Looping and Random Numbers
Vocabulary Algorithm - A precise sequence of instructions for processes that can be executed by a computer.
Study Skills Objectives:
PROBLEM SOLVING CHECKLIST
What is the Scientific Method?
Foundations of Computer Science
Learning to Program in Python
Becoming a co-trainer on Talk about Talk Secondary
Learning to Program in Python
Mathematics and Special Education Leadership Protocols
Introduction to Computer Programming
Learning to Program in Python
Raising student achievement by promoting a Growth Mindset
Peer Review Strategies
UNIT 3 CHAPTER 1 LESSON 4 Using Simple Commands.
Target Setting for Student Progress
Which of these counts as a media text?
Adam Wrestch University of Toronto (2008) Bachelor of Education
Problem Solving Skill Area 305.1
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Welcome Back To Physical Science!
Transdisciplinary Skills for Self-management Skills
CMSC201 Computer Science I for Majors Final Exam Information
They Say, I Say Chapter 1 and 12
Tonga Institute of Higher Education IT 141: Information Systems
U3L1 The Need For Programming
Unit 3: Lesson 1 - The Need for Programming Languages
Working with Groups
Today is 9/27. Problem of the Day
Tonga Institute of Higher Education IT 141: Information Systems
Chapter 8: Estimating with Confidence
Unit 1 Course Orientation
Classroom Rules and Policies
CMPT 120 Lecture 3 - Introduction to Computing Science – Programming language, Variables, Strings, Lists and Modules.
U3L2 The Need For Algorithms
Foundations of Inclusive Education
Checking For Understanding & Guided Practice
Presentation transcript:

Foundations of Programming: Introduction to Programming 8/21 – 22/17

Syllabus This course is a yearlong, entry-level course that introduces the foundations of programming. This course covers various programming concepts like Variables Functions/Methods Conditional logic Loops Algorithms Class participation, self-reflection, observation, projects, quizzes, tests and peer evaluation will be used to evaluate students’ successful progress in the course. You must actively participate in class to get a passing grade.

Classroom Expectations You are expected to show up to class on time every single day ready to work. Be respectful of yourself, others and the environment. There will be no food and drink allowed in the classroom area. Do NOT leave the classroom without permission and a pass. If you are confused about what you are supposed to be doing, ask me or a fellow classmate. Don’t sit there and do nothing. Be courteous, sharing and helpful with equipment to fellow classmates. If you know something that another student is struggling with, help them out.

Overview of the Course In this course we will cover many concepts and ideas that can be applied almost all programming languages. The class will usually be split up into to portions: a lecture portion and a programming portion. Students will learn about a particular concept or idea and then apply that knowledge and build a program to solve various exercises. There will be various paper based quizzes and tests throughout the year testing your knowledge about particular programming concepts.

Questions Any questions about the course? Any questions for me? Any random questions?

Introduction to JavaScript / Code.org JavaScript is a very popular and powerful programming language used in almost all websites. JavaScript has become even more popular since now it can be used as a Server side language with technologies like Node.JS Server side means these are the servers your computer talks to render a website or download a file We aren’t going to start by coding regular JavaScript, instead we are going to use Code.org in which we will be using a block-language to begin learning! Before that we must learn to think like a programmer!

Create a Lego Arrangement: Challenge: Create instructions your classmates could use to reproduce a simple arrangement of LEGO® blocks Create Your LEGO Arrangement: You will be given 5-6 LEGO blocks which you should connect into a single arrangement. Try to choose something interesting or challenging to test your instruction-giving abilities. Record Your Arrangement: Record your arrangement somehow so you can recall it later. Make a simple drawing, take a photo, etc.  You’ll want an exact record, so make sure you pay attention to color! Write Instructions: As you draw think about the fundamental operations - the most basic set of commands - you would need in order to write out a list of instructions for another person to recreate your design the same way you did.  Your instructions may only use words, so you cannot use pictures to help you. Try to make your instructions as clear as possible. Your neighbor is about to use them!

Discuss Instructions: Were you always able to create the intended arrangement? Were your instructions as clear as you thought? Why do you think we are running into these miscommunications? Computers don’t have room for interpretation when it comes to executing instructions. How can we change human language to improve our odds of succeeding at this activity, what types of changes would we need to make?

Defining Clear Instructions: So long as there are multiple ways to interpret language, we cannot have perfect precision. If we rigorously define the meaning of each command we use, then we can avoid misinterpretation and confidently express algorithms(set of instructions). This is different from the way we normally think and talk, and it might even take a while to get comfortable with communicating in this way.

The Need for Programming Languages:  Human language may not always be precise enough to express algorithms, even for something as simple as building a small arrangement. We need to use a new kind of language for expressing algorithms, which we as computer scientists call a programming language. Where commands only have one interpretation. No wiggle room. We will use these commands only when developing instructions to complete a task. (Developing an algorithm) In the coming unit we are going to learn a lot more about how we can use programming languages to express our ideas as algorithms, build new things, and solve problems.

Algorithms: To get computers to do what we want we need  know what are the “primitive” operations - the most basic set of operations that will allow us to do most of the tasks that the situation requires. The art (and science) of using a well-defined language of primitive operations to solve problems is the art and science of algorithms.  Algorithms are precise sequences of instructions for processes that can be executed by a computer and are implemented using programming languages. One way to think of the study of algorithms is that it is the study of processes – how can you use a small set of instructions to clearly and correctly define a process. Any time you are trying to write a precise set of instructions for a process to solve a problem you are designing an algorithm.

Wrap-up: Programming is simply giving precise instructions to computers to execute. Computers are dumb, they just do what they’re told to do To create good algorithms you need to be clever and work with commands provided by the language. Next time we will begin to program and learn the importance of sequencing programming instructions.