Download presentation
Presentation is loading. Please wait.
Published byTamsin Underwood Modified over 6 years ago
1
Foundations of Programming: Introduction to Programming
8/21 – 22/17
2
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.
3
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.
4
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.
5
Questions Any questions about the course? Any questions for me? Any random questions?
6
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!
7
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!
8
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?
9
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.
10
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.
11
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.
12
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.