Introduction to Programming. From code.org Always code as if the guy who ends up maintaining your code is a violent psychopath who knows where you live.

Slides:



Advertisements
Similar presentations
 Suppose for a moment that you were asked to perform a task and were given the following list of instructions to perform:
Advertisements

Introduction to Programming Lecture 2. Today’s Lecture Software Categories Software Categories System Software System Software Application Software Application.
Department of Mathematics and Computer Science
Computer Science and Computer Engineering. parts of the computer.
Computer Science - I Course Introduction Computer Science Department Boston College Hao Jiang.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Operating Systems Concepts Professor Rick Han Department of Computer Science University of Colorado at Boulder.
Class 1: What this course is about. Assignments Reading: Chapter 1, pp 1-33 Do in Class 1: –Exercises on pages 13, 14, 22, 28 To hand in in Class 2: –Exercises.
Computer Science - I Course Introduction Computer Science Department Boston College Hao Jiang.
Roles of IT Personnel Unit Customer Service This is a facility that helps customers with wide-ranging questions relating to a specific company,
Professor Michael J. Losacco CIS 1150 – Introduction to Computer Information Systems Application Software Chapter 3.
Programming. Software is made by programmers Computers need all kinds of software, from operating systems to applications People learn how to tell the.
Introduction To C++ Programming 1.0 Basic C++ Program Structure 2.0 Program Control 3.0 Array And Structures 4.0 Function 5.0 Pointer 6.0 Secure Programming.
1 ENG236: Introduction (1) Rocky K. C. Chang THE HONG KONG POLYTECHNIC UNIVERSITY.
Activity 1 - WBs 5 mins Go online and spend a moment trying to find out the difference between: HIGH LEVEL programming languages and LOW LEVEL programming.
ITP © Ron Poet Lecture 1 1 IT Programming Introduction.
Computer Programming My Home Page My Paper Job Description Computer programmers write, test, and maintain the detailed instructions, called programs,
Chapter Introduction to Computers and Programming 1.
Strong Interest Inventory Career Center. The Strong Interest Inventory  Assesses your interests, not your abilities  What people do is a reflection.
Introduction to Programming. Objectives Look at why we write programs Describe some things it takes to learn to be a programmer Discuss some important.
I NTRODUCTION TO P ROGRAMMING Lecture No. 1 and 2 Combined Lahore Leads University 21 st October 2013.
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
1 1 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 1 April 30, 2008 The World of the Modern Systems.
Introduction OF Enterprise Application Development.
Course Overview. What are Computers? From Outside –CPU box, Monitor, Keyboard, mouse and Printers From inside –ICs, Chipsets, Hard Disks, PCB cards, Drives,
Introduction to Programming Using C Introduction to Computer Programming.
1.8History of Java Java –Based on C and C++ –Originally developed in early 1991 for intelligent consumer electronic devices Market did not develop, project.
The Beauty and Joy of Computing Lecture #3 : Creativity & Abstraction UC Berkeley EECS Lecturer Gerald Friedland.
1 8/29/05CS150 Introduction to Computer Science 1 Professor: Shereen Khoja
Introduction to Programming Lecture No. 1. Books  Deitel & Deitel :– C++ How to Program  Kernighan and Ritchie:- The C Programming Language.
Topic 1Topic 2Topic 3Topic 4Topic
"Technology is a gift of God. After the gift of life it is perhaps the greatest of God's gifts. It is the mother of civilizations, of arts and of sciences.”
Unit 2 (task 28) In this PowerPoint I will tell you about 7 important IT job roles and if a candidate might want one what he would have to do to get one.
1 Lecture 2 : Computer System and Programming. Computer? a programmable machine that  Receives input  Stores and manipulates data  Provides output.
Introduction to Computer Application (IC) MH Room 517 Time : 7:00-9:30pm.
Alice and Algorithms Chapter 1 Part Reasons to Program The joy of programming To create a tool To use your creativity abilities For non programmers.
Austin Bogdanski. Computer hardware engineers research, design, develop, and test new computers and components such as processers, memory devices, circuit.
Introduction to Python Lesson 1 First Program. Learning Outcomes In this lesson the student will: 1.Learn some important facts about PC’s 2.Learn how.
WHAT IS COMPUTER SCIENCE? Phil Sands K-12 Outreach Coordinator for Computer Science.
 We graphic designers create images and design solutions that have a high visual impact.  Graphic design, also known as communication design, is the.
CS-303 Introduction to Programming
Programming Fundamentals Lecture No. 2. Course Objectives Objectives of this course are three fold 1. To appreciate the need for a programming language.
Introduction to C# Programming Version 1.1. Objectives  Help you learn to read and follow instructions  Look at how and why we write programs  Describe.
 Programming - the process of creating computer programs.
Processing Hardware, Software. Hardware Hardware Processing is performed by a computer ’ s central processing unit and is measured by the clock speed.
Overview of the Animation Industry Copyright © Texas Education Agency, All rights reserved. Images and other multimedia content used with permission.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
11 Computers, C#, XNA, and You Session 1.1. Session Overview  Find out what computers are all about ...and what makes a great programmer  Discover.
The problem that needs to be solved is if a computer career is for me.
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
A computer contains two major sets of tools, software and hardware. Software is generally divided into Systems software and Applications software. Systems.
Career Field Research Project Jayme Mason September 30, 2015.
Chapter 2 Data Manipulation © 2007 Pearson Addison-Wesley. All rights reserved.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
SWE minor 2007 Minor in Software Engineering Offered by the Departments of Computer Science and Information & Software Engineering New for Fall 2007.
Introduction to Programming. From code.org Always code as if the guy who ends up maintaining your code is a violent psychopath who knows where you live.
Introduction to Object Oriented
Introduction to CSCI 1311 Dr. Mark C. Lewis
CSCI-235 Micro-Computer Applications
Capstone Project By: DeAisha Cutler.
TRANSLATORS AND IDEs Key Revision Points.
Lesson 4: Controlling Memory with Variables
Professor: Shereen Khoja
IS 135 Business Programming
Chapter 1: Introduction to Computers and Programming
Presentation transcript:

Introduction to Programming

From code.org

Always code as if the guy who ends up maintaining your code is a violent psychopath who knows where you live. -- John Woods

“The computer programmer is a creator of universes for which he alone is the lawgiver. No playwright, no stage director, no emperor, however powerful, has ever exercised such absolute authority to arrange a stage or field of battle and to command such unswervingly dutiful actors or troops.” --Joseph Weizenbaum

Programming is the art of doing one thing at a time. -- Michael C. Feathers

Our greatest glory is not in never falling, but in rising very time we fall. -- Confucius

“This course will seem overwhelming the first week or two. But taken one step at a time, with careful study and attention to detail, you will do well.” -- me

Why would you want to learn to program? The sheer joy of making things – being creative The pride in making something that is useful to other people The fascination of solving complex problems Figuring out how to do something you’ve never done before Making a dumb machine do smart things Earning a lot of money This class is required …

Comment from a student … “I want a career, not just a degree”

“I love those moments, often wee quiet hours of the morning, when you begin to see what is forming... It is like being there at the wheel with the clay in your hands. It is the joy of creating something beautiful, something purposeful, something delightful, something to share... Sharing in the joy of creation, software development can be a means of self-expression where we give substance to our abstract thoughts, ideas, and feelings.”

$70/hr * 40 hrs/week * 52 weeks/yr = $145,600/year

From the United Stated Department of Labor, 2012

What fields do programmers work in?

Robotics

Games

Computer Graphics/Animation

Science/Math

Entertainment/Communication

Web Applications

Business/Finance

Engineering

Learning to program requires Time Patience Good language skills The ability to think abstractly Good math skills The ability to solve problems Practice – Program, program, program A sense of curiosity

Learning to Program Takes Time Researchers have shown that learning to do anything well (playing the piano, painting, playing tennis, etc) takes about 10 years. Learning to be a good programmer is no different. To become proficient at programming Practice Practice …

The rise of mathematics is heating up the job market for luminary quant's, especially at the Internet powerhouses where new math grads land six-figure salaries and rich stock deals. Tom Leighton, an entrepreneur and applied math professor at Massachusetts Institute of Technology, says: "All of my students have standing offers at Yahoo! and Google. Top mathematicians are becoming a new global elite. It's a force of barely 5,000, by some guesstimates, but every bit as powerful as the armies of Harvard University MBAs who shook up corner suites a generation ago. Math Skills are Important Business Week Cover Story January 23, 2006

What do Programmers Do? They talk to their customers They talk to their peers They discuss problems They think a lot They write a lot They design solutions to problems They write code They debug code They refactor code They test code They document code They fix code...

Google Offices

Programming Tools The computer The operating system The code editor The compiler The debugger Integrated Development Environment Problem solving skills Language skills

The Computer Data Segment Code Segment Stack Heap Memory Program Counter Instruction Register General Purpose Registers Status Registers Arithmetic and Logic Unit CPU

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register General Purpose Register Status Registers Arithmetic and Logic Unit

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register General Purpose Register Status Registers Arithmetic and Logic Unit Watch how the computer adds two numbers together …

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address The program to be executed is stored in the code segment. The data is stored in the data segment. The program counter points to the next instruction to be executed.

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address ld r1, 24

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address 10 ld r1, 24

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address 10 ld r1, 24 10

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address 10 ld r1, ld r2, 28

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address 10 ld r2,

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address 10 ld r2,

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address 10 ld r2, add r1, r2

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address 10 add r1, r

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address 10 add r1, r

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address 10 ld r1, sto r1, 32

The Computer Data Segment Code Segment Stack Heap Program Counter Instruction Register Register r1 Arithmetic and Logic Unit ld r1, 24 ld r2, 28 add r1, r2 sto r1, 32 Register r address 10 sto r1,

The Operating System Manages the memory in the computer Manages how and when programs are executed Manages the devices attached to the computer and lots of other stuff …

The code editor provides a way for The programmer to create and edit the source code text for his or her program. Editors provide tools to cut and paste source Code text, move between source code files, and do many other editing tasks.

static void Main( ) { int a = 5; int b = 27;... source code compiler The Compiler

       Intermediate Language source code compiler

       Intermediate Language Interpreter compiler source code code segment data segment stack segment.exe

reserved for operating system program A program B the heap the heap is left over memory, not being used by any program. It is managed by the O/S. code segment data segment stack segment loader program C

Visual C# Express Edition is an Integrated Development Environment (IDE). It includes * a code editor * a compiler * a debugger * and other development tools

If you have not completed lab #1, be sure to complete it and turn it in before 11:59pm on the due date.

Questions?