Alan Kay (1940- ) Pioneer of Object Oriented programming Wrote the first OO language, Smalltalk Developed the prototypes for network workstations in 1970.

Slides:



Advertisements
Similar presentations
Languages for IT & CS Pseudo-code What HTML isn’t Early history Compiling & interpreting Classifying languages The process of programming.
Advertisements

 Computer hardware components are the physical pieces of the computer.  The major hardware components of a computer are: – The central processing.
MIS 2000 Class 2: Basic Concepts Updated January 2014.
CS105 INTRODUCTION TO COMPUTER CONCEPTS INTRO TO PROGRAMMING Instructor: Cuong (Charlie) Pham.
Creating a Program In today’s lesson we will look at: what programming is different types of programs how we create a program installing an IDE to get.
Introducing Programming a general discussion. What is a Program? Sets of instructions that get the computer to do something Programs may be a few lines.
Python Programming Chapter 1: The way of the program Saad Bani Mohammad Department of Computer Science Al al-Bayt University 1 st 2011/2012.
Lecture 1: Intro to Computers Yoni Fridman 6/28/01 6/28/01.
CS 104 Introduction to Computer Science and Graphics Problems Software and Programming Language (2) Programming Languages 09/26/2008 Yang Song (Prepared.
Introduction to Programming Programming. COMP102 Prog. Fundamentals I: Introduction / Slide 2 Objectives l To learn fundamental problem solving techniques.
Introduction to Programming. COMP104 Introduction / Slide 2 Objectives * To learn fundamental problem solving techniques * To learn how to design a program.
Software Development Unit 6.
CHAPTER 1: Programming Fundamentals CSEB113 PRINCIPLES of PROGRAMMING by Badariah Solemon 1BS (May 2013)
Unit Six Assignment 1 Chris Boardley.
Your Interactive Guide to the Digital World Discovering Computers 2012.
TEACHING PROGRAMMING BY ITERATIVE DEEPENING Dr. Mark Lee | School of Computer Science, University of Birmingham
CS102 Introduction to Computer Programming
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
CSC 110 A 1 CSC 110 Introduction to Python [Reading: chapter 1]
CW-V1 SDD 0201 Principals of Software Design and Development Introduction to Programming Languages.
Program development & programming languages Chapter 13.
Introduction COMP104: Fundamentals and Methodology.
CS-0401 INTERMEDIATE PROGRAMMING USING JAVA Prof. Dr. Paulo Brasko Ferreira Fall 2014.
Software – Applications software and programming languages
MCS 270 Spring 2014 Object-Oriented Software Development.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Programming. What is a Program ? Sets of instructions that get the computer to do something Instructions are translated, eventually, to machine language.
ICAPRG301A Week 4Buggy Programming ICAPRG301A Apply introductory programming techniques Program Bugs US Navy Admiral Grace Hopper is often credited with.
Sir Tim Berners-Lee (1955-) British computer scientist Inventor of the World Wide Web in 1989 (developed the first HTML protocol and sent the first messages.
PhD, Senior Lecturer, Baimuratov Olimzhon A LGORITHMS & P ROGRAMMING (P YTHON ) Lecture 1 From SDU:
1 3. Computing System Fundamentals 3.1 Language Translators.
Software – Applications software and programming languages.
Overview of this morning What … is computing? Why … is computing an important skill to learn? What … will my child be learning in computing lessons?
Robert Crawford, MBA West Middle School.  Explain how the binary system is used by computers.  Describe how software is written and translated  Summarize.
National Diploma Unit 4 Introduction to Software Development Introduction to Programming Languages.
Creating Your First Computer Program in Java Margaret Yau.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
Computer Science and Software Engineering© 2014 Project Lead The Way, Inc. Procedural Abstraction Object-Oriented Code.
Software Development. Software Development Loop Design  Programmers need a solid foundation before they start coding anything  Understand the task.
Computer Software Operating Systems – Programs. Computer Language - Review We learnt that computers are made up of millions of tiny switches that can.
Principles of Programming Chapter 1: Introduction  In this chapter you will learn about:  Overview of Computer Component  Overview of Programming 
Course Instructor: Hira Farman Course : BY:HIRA FARMAN.
Course Introduction MIS 3501, Spring 2016 Jeremy Shafer Department of MIS Fox School of Business Temple University 1/12/2016.
The single most important skill for a computer programmer is problem solving Problem solving means the ability to formulate problems, think creatively.
Invent Your Own Computer Games with Python
Programming Objectives What is a programming language? Difference between source code and machine code What is python? – Where to get it from – How to.
What is a Computer An electronic, digital device that stores and processes information. A machine that accepts input, processes it according to specified.
Getting Started With Python Brendan Routledge
1 Chapter 1 Background Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
HIGH-LEVEL LANGUAGE PROGRAMMING PARADIGMS. Programming languages come in many forms or 'paradigms'. Each form of language offers advantages over other.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
JavaScript Part 1 Introduction to scripting The ‘alert’ function.
Lecture 1b- Introduction
Software Development.
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
GCSE COMPUTER SCIENCE Practical Programming using Python
GCSE COMPUTER SCIENCE Practical Programming using Python
CSCI-235 Micro-Computer Applications
Learning to Program in Python
Do you know this browser?...
Introduction to Computers and Python
Software Programming J. Holvikivi 2014.
Coding Concepts (Basics)
CS105 Introduction to Computer Concepts Intro to programming
and Program Development
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
What is Programming Language
1.3.7 High- and low-level languages and their translators
System Programming By Prof.Naveed Zishan.
Presentation transcript:

Alan Kay (1940- ) Pioneer of Object Oriented programming Wrote the first OO language, Smalltalk Developed the prototypes for network workstations in 1970 at Palo Alto which Steve Jobs use to develop the Macintosh OS Develop the concept of mobile computers (he called them Dynabook in 1970s) Using Dynabook concepts he is currently working on the software for the $100 laptop program Quotes: The best way to predict the future is to invent it. People who are really serious about software should make their own hardware. A change in perspective is worth 80 IQ points. Technology is anything that wasn't around when you were born. If you don't fail at least 90 percent of the time, you're not aiming high enough. Possibly the only real object-oriented system in working order. (About Internet) Simple things should be simple, complex things should be possible. ICAPRG301A Apply introductory programming techniques ICAPRG301A Week 1 Hello World

ICAPRG301A Apply introductory programming techniques First in a programming series Help you with : 1.ICAPRG414A Apply introductory programming in another language 2.ICAPRG406A Apply introductory object-oriented language skills 3.ICAPRG417A Apply mathematical techniques for software development Cert IV Skill sets Basic Application Development Programmer Skill Set Application Development Specialist Skill Set Or just to become the next killer programmer… Don't worry about what anybody else is going to do. The best way to predict the future is to invent it.— Alan Kay

ICAPRG301A Week 1 Hello World ICAPRG301A Apply introductory programming techniques What is programming? The official term is software engineering and it is the process of developing the code which will run on computers or computing devices. This code enables the devices to perform the actions which we require as users. Famous Programmers Bill Gateswrote MS DOS operating system in 1982 in the language Assembler Mark Zuckermanwrote Facebook in 2004 in the language PHP Marcus Perssonwrote Minecraft in 2009 in the language Java Rovio Mobile wrote Angry Birds in 2009 in the language Objective-C ????Started out learning this year…. Most good programmers do programming not because they expect to get paid or get adulation by the public, but because it is fun to program - Linus Torvalds

ICAPRG301A Week 1 Hello World ICAPRG301A Apply introductory programming techniques Why learn programming? To see if this is an area of real interest for you and maybe build a career To gain a basic understand of how software works and why it often doesn’t work To gain and understanding of what the development process actually is In your job you will be working with software that is running on other software, you need at least a basic understanding of what software actually is and what it does To gain an appreciation of how hard it really is to get something that does truly “just work” learning to program is an iterative process of removing the magic from computing

ICAPRG301A Week 1 Hello World ICAPRG301A Apply introductory programming techniques Which is the best language? The question is often asked and makes no sense. Its like asking which is the best tree. There are many languages and all have their uses, all are good for some tasks and all have problems in some areas. Which is your best foot? Could you still do things if you only had that foot? There is a site called 99-bottles-of-beer.net which is a collection of computer programs which output the famous song. At present there are 1436 different languages on the site, many in a variety of versions. We will be teaching you programming, not just how the program in one particular language. In this unit we will use the language Python. Python is a lot easier to teach to students programming - Guido Van Rossum, Python Benevolent Dictator for Life

ICAPRG301A Week 1 Hello World ICAPRG301A Apply introductory programming techniques Basics Language Types There are two basic types of computer languages, Procedural and Object Orientated. Procedural languages develop programs that are much like a recipe or reading a book. They start at the beginning and move step by step until they reach the end. Almost all languages can be used procedurally but some languages (like VBScript, Javascript, BASIC, Pascal, COBOL) are designed that way. Object Orientated languages use the concept of a class. This means they can just exist and it is up to the user how they operate, very much like the way you use the Internet or a word processor. Most modern languages are designed around the use of classes (including Java, Python, C++). There are many other definitions of computer languages including data-structured (SQL), fourth-generation (Progress 4GL), Scripting (Lua), Assembly (Emu8086) etc Python works well as a simple procedural language but can also be used as an OO language.

ICAPRG301A Week 1 Hello World ICAPRG301A Apply introductory programming techniques Getting Started The process of software development (writing programs from scratch) involves a number of steps. 1.Writing the code. Here you use a text editor to develop the set of instruction that following the rules of the language. 2.Run the code. Here the instructions are converted into something that a computer can understand (ie a series of 1 and Os). 3.Debug the code. There will be errors so you need to look at what has happened and work out if it is what you wanted. 4.Rinse and repeat. Early programmers had to do all this manually and it can still be done that way. However in the last 10 years programs called Integrated Development Environments (IDE) have changed that as all these processes can be done in the one place. Python is simple enough that it does not require an IDE, however we will use a basic one for convenience.

ICAPRG301A Week 1 Hello World ICAPRG301A Apply introductory programming techniques Getting Started This course will take you through much of what you need to start learning the language Python. However if you want to go further or are looking for another set of lessons to help you understand the language or a concept there are plenty of tutorials around. Some of the better ones are: New Bostonhttp://thenewboston.org/ Udacityhttp:// Reddithttp:// Googlehttp://code.google.com/edu/languages/google-python-class/index.htmlhttp://code.google.com/edu/languages/google-python-class/index.html The best text book (and the one that will be used in the Cert IV) is Head First Programming published by O’Rielly. This book should be available at the CDU Bookshop. Google supports Python (the author of Python works for Google) so Google searches usually find plenty of help. Often coders ask questions of each other through code forums like Reddit and StackOverflow.