Introduction to Programming G50PRO University of Nottingham Unit 1 : Introduction Paul Tennent

Slides:



Advertisements
Similar presentations
compilers and interpreters
Advertisements

ICS103 Programming in C Lecture 1: Overview of Computers & Programming
CS1061 C Programming (5 credits) Lecturer: Adrian O’Riordan Contact: is office is 312, Kane Lectures:
COSC 120 Computer Programming
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
CS211 Data Structures Sami Rollins Fall 2004.
CS 110 Intro to Computer Science I Sami Rollins Fall 2006.
Chapter 16 Programming and Languages: Telling the Computer What to Do.
Introduction to C++ Programming CS 117 Section 2 and KNET Sections Spring 2001 MWF 1:40-2:30.
CS 101 Problem Solving and Structured Programming in C Sami Rollins Spring 2003.
PRE-PROGRAMMING PHASE
Course: Introduction to Computers
CS190/295 Programming in Python for Life Sciences: Lecture 1 Instructor: Xiaohui Xie University of California, Irvine.
Programming In C++ Spring Semester 2013 Programming In C++, Lecture 1.
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 
1 Chapter-01 Introduction to Computers and C++ Programming.
Introduction to Programming Prof. Rommel Anthony Palomino Department of Computer Science and Information Technology Spring 2011.
PROGRAMMING LANGUAGES The Study of Programming Languages.
P51UST: Unix and Software Tools Unix and Software Tools (P51UST) Compilers, Interpreters and Debuggers Ruibin Bai (Room AB326) Division of Computer Science.
CSC 142 A 1 CSC 142 Introduction to Java [Reading: chapter 0]
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
CSC-115 Introduction to Computer Programming
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
Programming Lifecycle
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
Java Programming, Second Edition Chapter One Creating Your First Java Program.
CS212: DATA STRUCTURES Lecture 1: Introduction. What is this course is about ?  Data structures : conceptual and concrete ways to organize data for efficient.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Chapter 1 Introduction Chapter 1 Introduction 1 st Semester 2015 CSC 1101 Computer Programming-1.
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.
The course. Description Computer systems programming using the C language – And possibly a little C++ Translation of C into assembly language Introduction.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
1 TOPIC 1 INTRODUCTION TO COMPUTER SCIENCE AND PROGRAMMING Topic 1 Introduction to Computer Science and Programming Notes adapted from Introduction to.
CSE:141 Introduction to Programming Faculty of Computer Science, IBA BS-I (Spring 2010) Lecture 2.
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
Chapter 1 Computers, Compilers, & Unix. Overview u Computer hardware u Unix u Computer Languages u Compilers.
CS-303 Introduction to Programming
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
1 Chapter 1 Programming Languages Evolution of Programming Languages To run a Java program: Java instructions need to be translated into an intermediate.
Introduction Mehdi Einali Advanced Programming in Java 1.
Textbook C for Scientists and Engineers © Prentice Hall 1997 Available at NUS CO-OP at S$35.10.
The single most important skill for a computer programmer is problem solving Problem solving means the ability to formulate problems, think creatively.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Getting ready. Why C? Design Features – Efficiency (C programs tend to be compact and to run quickly.) – Portability (C programs written on one system.
Chapter 1 An Overview of Computers and Programming Languages.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
Chapter 1: Introduction to Computers and Programming.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Introduction to Computer Programming By: Mr. Baha Hanene Chapter 1.
Software Engineering Algorithms, Compilers, & Lifecycle.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Computer Systems Nat 5 Computing Science
Introduction to programming
CSCI-235 Micro-Computer Applications
Lecture 1: Introduction to JAVA
Computer Systems Nat 5 Computing Science
Teaching Computing to GCSE
Teaching Computing to GCSE
Assembler, Compiler, Interpreter
Chapter 1 Introduction(1.1)
Computer programming.
Assembler, Compiler, Interpreter
Dasar-Dasar Pemrograman 2: Java Basics
Presentation transcript:

Introduction to Programming G50PRO University of Nottingham Unit 1 : Introduction Paul Tennent Room C41

Course Overview 1 Semester 20 ish lectures plus lab sessions Assessment: Coursework one: 10% Coursework Two: 30% Coursework Three: 60% Course Objectives : To learn to think algorithmically and to express in sound implementations using a programming language (Scratch/Java).

Time Table 2 lectures a week : Wednesday: 9 am, Dearing Building, C35 Thursday: 3pm, Business School South, A25+ One Lab (2 hours) 5 weeks : Wednesday: 10am, CS C11

General References How to Think Like a Computer Scientist (Java Version) by Allen B. Downey. Available on Web: Getting started with Scratch Java. How to Program by Deitel & Deitel (Prentice Hall) Sun Java Tutorial: WWW - Google

Intro. Programming / coding Computer programming: is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. source code is written in a programming language. The purpose of programming is to create a efficient and evolvable program (software) that provide a certain desired behaviour

Programming / coding A program is a sequence of instructions The way to deal with a difficult task is to recursively break it down into a number of less difficult tasks The single most important skill for a computer scientist is problem-solving problem-solving is the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately.

Programming languages A programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. A way of communication between Humans and Computers Many programming languages have some form of written specification of their syntax (form) and semantics (meaning) Pascal, Java, C, C++, C#, PHP ….

Programming languages A program must be translated into machine language before it can be executed on a particular type of CPU This can be accomplished in several ways such as A compiler reads a high-level program and translates it all at once, before executing any of the commands. Often you compile the program as a separate step, and then execute the compiled code later. the high-level program is called the source code, and the translated program is called the object code or the executable.

Programming languages interpreted language is a programming language whose programs are translated to machine code at the time of execution through using an interpreter program A compiled language is a programming language which need the use of compilers to generate executable machine code in order to run the program

Compiled Languages import java.lang.* import java.lang.* import java.lang.* import java.lang.* Source Code Print Hello World Compiler executable machine code High Level Language code Run Hello World!

Interpreted Languages import java.lang.* import java.lang.* import java.lang.* import java.lang.* Source Code Print Hello World Interpreter High Level Language code Run Hello World!

Programming Quality Efficiency/performance: the amount of system resources a program consumes processor time memory space disk Storage network bandwidth the less, the better. This also includes correct disposal of some resources, such as cleaning up temporary files and lack of memory leaks.

Programming Quality Reliability: how often the results of a program are correct. This depends on conceptual correctness of algorithms Robustness: how well a program anticipates problems not due to programmer error. This includes situations such as: Incorrect data Unavailability of needed resources such as memory, operating system services and network connections User error.

Programming Quality Usability: the ease with which a person can use the program for its intended purpose Portability: the range of computer hardware and operating system platforms on which the source code of a program can be compiled / interpreted and run (Java vs C/C++).

Debugging A methodical process of finding and reducing the number of bugs (errors) in a computer program

Recommended Reading How to Think Like a Computer Scientist Chapter 1, The way of the program nkapjava.pdf

Summary Programming Languages Compiled Vs Interpreted Programming Quality Debugging