Comp1004: Introduction I Welcome!. Welcome to Programming Principles Dr. David Millard Dr. Julian Rathke Dr.

Slides:



Advertisements
Similar presentations
Project on VB Control Structures
Advertisements

MPI and C-Language Seminars Seminar Plan (1/3)  Aim: Introduce the ‘C’ Programming Language.  Plan to cover: Basic C, and programming techniques.
Lecture Roger Sutton 21: Revision 1.
Software Engineering and Design Principles Chapter 1.
Lecturer: Fintan Costello Welcome to Hdip 001 Introduction to Programming.
Info /7 DMU1 Components of a system Systems Analysis & Design Academic Year 2008/9 Lecture 1.
1004INT Information Systems Week 11 Databases as Business Tools.
Visual Basic: An Object Oriented Approach 3 – Making Objects Work.
CO320 Introduction to Object- Oriented Programming Michael Kölling 3.0.
Class 24: Programming with Objects University of Virginia cs1120 David Evans.
Introduction to Programming G50PRO University of Nottingham Unit 1 : Introduction Paul Tennent
Chapter 9 Interactive Multimedia Authoring with Flash - Introduction to Programming “Computers and Creativity” Richard D. Webster, COSC 109 Instructor.
314450: PROGRAMMING PARADIGMS Teaching scheme: Examination Scheme: Lectures: 3 Hours/Week Theory: 100 Marks OBJECTIVE: To understand the basic building.
Introduction COMP104: Fundamentals and Methodology.
Lecture 0 Digital Electronics Fundamentals Computer Architecture and System Software There are 10 kinds of people in this world – those who understand.
Introduction to FORTRAN
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Programming With Alice. Alice Free Java based, 3D programming tool Enables the manipulation and interaction of 3D objects Can also.
Foundation Programming Introduction. Aims This course aims to give students a basic understanding of computer programming. On completing this course students.
CSC1401: Introductory Programming Steve Cooper
Purpose of study A high-quality computing education equips pupils to use computational thinking and creativity to understand and change the world. Computing.
5.0 Objects First with Java A Practical Introduction using BlueJ Introduction to Computer Science I Instructor: Allyson Anderson.
Introduction to Programming Lecture 1 – Overview
An Overview of Programming in Python CSC 161: The Art of Programming Prof. Henry Kautz 9/9/2009 Slides stolen shamelessly from Dr. Mark Goadrich, Centenary.
© Xiaoying Gao, Peter Andreae Introduction to Computer Program Design COMP T2. Xiaoying (Sharon) Gao Computer Science Victoria University of Wellington.
Introduction. 2COMPSCI Computer Science Fundamentals.
Algorithms and their Applications CS2004 ( ) Dr Stephen Swift 1.2 Introduction to Algorithms.
Abstraction IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, September 17, 2013 Marie desJardins University of Maryland, Baltimore County.
Week 1 - Friday.  What did we talk about last time?  Our first Java program.
Week 91 Introduction to Programming Ms. Knudtzon C Period Quarter 2 – Lecture 20 Monday, November 1 st.
Artificial Intelligence Programming in Prolog Lecture 1: An Introduction 23/09/04.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Course Outline Course Code: CIS 111 Course Title: Introduction to computer science Units: 2 Programmes: B.Sc. Computer Science B.Sc. Management Information.
© Xiaoying Gao, Peter Andreae Introduction to Computer Program Design COMP T2. Xiaoying (Sharon) Gao Computer Science Victoria University of Wellington.
Lecture 2 Numerical Methods for Engineering MECN 3500 Department of Mechanical Engineering Inter American University of Puerto Rico Bayamon Campus Dr.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
Data Structures and Algorithm Analysis Introduction Lecturer: Ligang Dong, egan Tel: , Office: SIEE Building.
Summary CGS 3460, Lecture 43 April 26, 2006 Hen-I Yang.
The Department of Engineering Science The University of Auckland Welcome to ENGGEN 131 Engineering Computation and Software Development Lecture 2 Debugging,
STEP 3- DEVELOP AN ALGORITHM At this stage we break down the problem into simple manageable steps so that they can be handled easily.
Programming. In your own words, explain what an algorithm is, and give an example of how people use algorithms every day.
Programming for Interactivity Professor Bill Tomlinson Tuesday & Wednesday 6:00-7:50pm Fall 2005.
In this lecture What is Programming? A useful definition Object Orientation (and it’s counterparts) Thinking OO Programming Blocks – Variables – Logic.
1 Structured Programming Arab Academy for Science and Technology CC112 Dr. Sherif Mohamed Tawfik The Course.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
Computer Science I ISMAIL ABUMUHFOUZ | CS 180. CS 180 Description BRIEF SUMMARY: This course covers a study of the algorithmic approach and the object.
BMTS Computer Programming Pre-requisites :BMTS 242 –Computer and Systems Nature Of the Course: Programming course, contain such as C, C++, Database.
Comp1004: Introduction III Java. Content How Java Works: The JVM Writing a Class in Java – Class – Member Variables – Method – Statement Magic incantations.
C++ Programming Basics C++ Lecture 1 Stacy MacAllister.
Comp1202: Conclusions Revision Session. Coming up Key Concepts - The Pillars HashMaps Exceptions The Exam Some Last Words.
All materials copyright UMBC unless otherwise noted CMSC201 Computer Science I for Majors Lecture 02 – Algorithmic Thinking.
Content Programming Overview The JVM A brief look at Structure – Class – Method – Statement Magic incantations – main() – output Coding a Dog Programming.
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
CMSC201 Computer Science I for Majors Lecture 02 – Algorithmic Thinking Prof. Katherine Gibson Based on slides by Shawn Lupoli and Max Morawski at UMBC.
Content Programming Overview The JVM A brief look at Structure
Objects First with Java A Practical Introduction using BlueJ
Comp1202: Conclusions Revision Session.
Programming COMP104: Fundamentals and Methodology Introduction.
Objects First with Java A Practical Introduction using BlueJ
Developing Applications
Computer Programming.
Lecture 5 from (Chapter 4, pages 73 to 96)
Chapter 10 Programming Fundamentals with JavaScript
Comp1202: Introduction III
Computer Programming 1 introduction to JAVA Lecture 1 Instructor: Ruba A. Salamah Islamic University of Gaza.
Objects First with Java A Practical Introduction using BlueJ
Comp1202: Introduction I Welcome!.
ICT Gaming Lesson 2.
Objects First with Java A Practical Introduction using BlueJ
Presentation transcript:

Comp1004: Introduction I Welcome!

Welcome to Programming Principles Dr. David Millard Dr. Julian Rathke Dr. Mark Weal Additional Seminars: Rikki Prince Patrick McSweeney

Main Course Structure Two Lectures Each Week – Monday 3pm, 02/1089 – Tuesday 9am, 02/1089 Also a Lab (worth 20%) – Monday 9am OR Monday 11am – Depending on Tutor Group Other Assessment – Coursework (due weeks 7 and 10, worth 30%) – Open Book Exam (after Xmas, worth 50%)

Additional Streams Space Cadets – For people who are more experienced programmers – Run by Rikki Prince – Optional weekly challenge and discussion Ground Controllers – For people who are new to programming – Run by Patrick McSweeney – Optional weekly workshop

BlueJ The main course text is Objects First with BlueJ Although we will start with using Java from the command line, we will soon introduce you to the BlueJ environment BlueJ is an environment designed for learning, but later in the course we will change over to use a proper professional environment

A Dirty Secret No matter how we teach you will mainly learn through practice! Programming is the single most important skill for a computer scientist or software engineer – Systematic thinking and problem solving – Abstraction and data modeling Did we mention that you need to practice?

PRACTICE! “I've often thought that sucking less every year is how humble programmers improve. You should be unhappy with code you wrote a year ago.” - Jeff Atwood, “I have no talent. What I do have is a lot of practice. And I am not talking about occasionally dabbling in Ruby on the weekends. I am talking about the kind of practice where I beat code that isn’t working into submission (though often times the code wins).” - John Nunemaker,

Online Notes Wiki uk/notes/comp1004/ leads to uk/student/wiki/w/COMP1 004

Comp1004: Introduction II Starting Out

In this lecture What is Programming? Programming Paradigms A Taste of Things to Come – Classes and Objects – Variables – Logic – Data Structures

What is Programming?

Wikipedia (2011) – “the process of writing, testing, debugging and maintaining the source code of computer programs. The purpose of programming is to create a program that exhibits a certain desired behavior.” Thefreedictionary.com (2011) – “creating a sequence of instructions to enable the computer to do something” OED (2011) – “The operation or practice of programming a computer; the writing or preparation of computer programs.”

What is Programming? Wikipedia (2011) – “the process of writing, testing, debugging and maintaining the source code of computer programs. The purpose of programming is to create a program that exhibits a certain desired behavior.” Thefreedictionary.com (2011) – “creating a sequence of instructions to enable the computer to do something” OED (2011) – “The operation or practice of programming a computer; the writing or preparation of computer programs.”

What is Programming? Wikipedia (2011) – “the process of writing, testing, debugging and maintaining the source code of computer programs. The purpose of programming is to create a program that exhibits a certain desired behavior.” Thefreedictionary.com (2011) – “creating a sequence of instructions to enable the computer to do something” OED (2011) – “The operation or practice of programming a computer; the writing or preparation of computer programs.”

What is Programming? Wikipedia (2011) – “the process of writing, testing, debugging and maintaining the source code of computer programs. The purpose of programming is to create a program that exhibits a certain desired behavior.” Thefreedictionary.com (2011) – “creating a sequence of instructions to enable the computer to do something” OED (2011) – “The operation or practice of programming a computer; the writing or preparation of computer programs.”

Programming Flavours Procedural (e.g. C or Pascal) – Fixed list of instructions – Do this, Do that, if this then do that Declarative – More like declaring rules (or a grammar) – Behaviour emerges from the rules being applied – Examples Functional Programming (e.g. Scheme) Logic Programming (e.g. Prolog)

Object Orientated The main idea – Everything is a Thing – A Program is made up of Things interacting – Things have both properties and behaviours – E.g. Dog What are the properties of a dog? What can a dog do?

Classes and Objects All the properties of Dog can be wrapped up or contained in a class – A class is like a Blue Print – We can build many unique dogs from the same Blue Print – These are called objects – They all have similar properties as defined by the class 1 Class 101 Objects

Building Blocks Objects and Classes are specific to Object Orientated Programming But there are more common, more fundamental Programming Principles that we will be covering in the course

Variables Like algebra x = 4 Not so much like algebra name = “Rover” Object properties are stored in variables

Methods Blocks of code that define a sequence of actions Object behavior is defined in methods Often this will use the object’s properties printDogsDetails() { print name; print age; }

Logic True or False – the basis of all decisions ? x == 4 x > 4 x =< 4 x != 4 x > 2 && x < 8 x > 8 || x < 2 x = 3 false true false x=4 true false true false true false x=11 false true false true false true

Control Flow If statements if size<10 dog says “Yip Yip” else dog says “Ruff Ruff” Loops while(number<10) dog says “Bark!” number= number +1 Side Note: Human readable versions of programs are called Pseudocode. They look like real programs but are not as precisely defined. They are good for communicating ideas and showing structure.

Data Structures More complex data… Arrays: – Like Lists, Tables, Matrices HashMaps – Associate a key with a value – Like a Dictionary

Summary What is Programming? Programming Paradigms A Taste of Things to Come – Classes and Objects – Variables – Logic – Data Structures