In this lecture What is Programming? A useful definition Object Orientation (and it’s counterparts) Thinking OO Programming Blocks – Variables – Logic.

Slides:



Advertisements
Similar presentations
Decision Structures - If / Else If / Else. Decisions Often we need to make decisions based on information that we receive. Often we need to make decisions.
Advertisements

Problem Solving and Algorithm Design
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Unit 6 Assignment 2 Chris Boardley.
1 OBJECT-ORIENTED CONCEPTS. 2 What is an object?  An object is a software entity that mirrors the real world in some way.  A software object in OOP.
COMPSCI 105 S Principles of Computer Science 12 Abstract Data Type.
Chapter 6 Problem Solving and Algorithm Design. 6-2 Chapter Goals Determine whether a problem is suitable for a computer solution Describe the computer.
Comp 205: Comparative Programming Languages Semantics of Imperative Programming Languages denotational semantics operational semantics logical semantics.
Software Engineering and Design Principles Chapter 1.
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
Program Design and Development
WEL COME PRAVEEN M JIGAJINNI PGT (Computer Science) MCA, MSc[IT], MTech[IT],MPhil (Comp.Sci), PGDCA, ADCA, Dc. Sc. & Engg.
Chapter 1 Program Design
Approaches to Representing and Recognizing Objects Visual Classification CMSC 828J – David Jacobs.
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
Python quick start guide
Comp1004: Introduction I Welcome!. Welcome to Programming Principles Dr. David Millard Dr. Julian Rathke Dr.
Programming Languages CPS120: Introduction to Computer Science Lecture 5.
OOP- OBJECT OBJECT PROGRAMMING By KRATI SHARMA 02 XI-B ✏✏✏✏ ☺☻☺☻☺☻☺ ✏✏✏✏
Dr. Ken Hoganson, © August 2014 Programming in R STAT8030 Programming in R COURSE NOTES 1: Hoganson Programming Languages.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Simple Program Design Third Edition A Step-by-Step Approach
Invitation to Computer Science, Java Version, Second Edition.
Python Mini-Course University of Oklahoma Department of Psychology Day 2 – Lesson 6 Program Design 4/18/09 Python Mini-Course: Day 2 - Lesson 6 1.
Problem Solving and Algorithm Design. 2 Problem Solving Problem solving The act of finding a solution to a perplexing, distressing, vexing, or unsettled.
Introduction. 2COMPSCI Computer Science Fundamentals.
Introduction Algorithms and Conventions The design and analysis of algorithms is the core subject matter of Computer Science. Given a problem, we want.
BY Lecturer: Aisha Dawood.  an algorithm is any well-defined computational procedure that takes some value, or set of values, as input and produces.
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
Pseudocode. Simple Program Design, Fourth Edition Chapter 2 2 Objectives In this chapter you will be able to: Introduce common words, keywords, and meaningful.
Chapter 12 Object Oriented Design.  Complements top-down design  Data-centered view of design  Reliable  Cost-effective.
Control Structures CPS120: Introduction to Computer Science Lecture 5.
Lecture 11 Data Structures, Algorithms & Complexity Introduction Dr Kevin Casey BSc, MSc, PhD GRIFFITH COLLEGE DUBLIN.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
How Are Computers Programmed? CPS120: Introduction to Computer Science Lecture 5.
Basic Scheme February 8, 2007 Compound expressions Rules of evaluation Creating procedures by capturing common patterns.
Advanced Repetition Structure and String Functions (Unit 10) Visual Basic for Applications.
1/33 Basic Scheme February 8, 2007 Compound expressions Rules of evaluation Creating procedures by capturing common patterns.
8.1 8 Algorithms Foundations of Computer Science  Cengage Learning.
Lecture 2: Review of Object Orientation. © Lethbridge/La ganière 2005 Chapter 2: Review of Object Orientation What is Object Orientation? Procedural.
Problem-solving with Computers. 2Outline  Computer System  5 Steps for producing a computer program  Structured program and programming  3 types of.
Next Back MAP MAP F-1 Management Information Systems for the Information Age Second Canadian Edition Copyright 2004 The McGraw-Hill Companies, Inc. All.
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
Program Design. Simple Program Design, Fourth Edition Chapter 1 2 Objectives In this chapter you will be able to: Describe the steps in the program development.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Welcome to OBJECT ORIENTED PROGRAMMING Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
1 Structured Programming Arab Academy for Science and Technology CC112 Dr. Sherif Mohamed Tawfik The Course.
Review A program is… a set of instructions that tell a computer what to do. Programs can also be called… software. Hardware refers to… the physical components.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
Coming up Implementation vs. Interface The Truth about variables Comparing strings HashMaps.
Programming paradigms
Basic Scheme February 8, 2007 Compound expressions Rules of evaluation
Content Programming Overview The JVM A brief look at Structure
High and low level languages
Application Development Theory
CS 240 – Lecture 11 Pseudocode.
Learning to Program in Python
C# Object Oriented Programming Concepts
Program Design Introduction to Computer Programming By:
Component-Level Design
Chapter 8: More on the Repetition Structure
Visual Basic – Decision Statements
Programming We have seen various examples of programming languages
Flowcharting & Algorithms
Topics Introduction to Value-returning Functions: Generating Random Numbers Writing Your Own Value-Returning Functions The math Module Storing Functions.
Comp1202: Introduction I Welcome!.
Understand the interaction between computer hardware and software
Using C++ Arithmetic Operators and Control Structures
WRITING AN ALGORITHM, PSEUDOCODE, AND FLOWCHART LESSON 2.
Presentation transcript:

In this lecture What is Programming? A useful definition Object Orientation (and it’s counterparts) Thinking OO Programming Blocks – Variables – Logic – Data Structures – Methods

Lecture 1 Week 1 – Playing in main() OO

Coming up This is a theory lecture These concepts are important These are the Big Principals of the entire course

In this lecture What is Programming? A useful definition Object Orientation (and it’s counterparts) Thinking OO Programming Blocks –V–Variables –L–Logic –D–Data Structures –M–Methods

What is Programming? Wikipedia (2008) – the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs About.com (2008) – A computer program is a set of instructions for a computer to perform a specific task

In this lecture What is Programming? A useful definition Object Orientation (and it’s counterparts) Thinking OO Programming Blocks –V–Variables –L–Logic –D–Data Structures –M–Methods

Useful Definition Abstraction: – the process of removing detail to expose the essential features of a particular concept or object (Wikipedia 2008) A lecturer – Like Eric – Is a human (most of them are anyway) – Teaches a module – Has an office We don’t need to know the little details to model a lecturer

Useful Definition 2 Pseudocode: – Fake code – Reads like English but easily translates into code – Use to plan out easily readable ideas – There are conventions, but no standards

The last definition Modularization – the process of dividing a whole into well-defined parts – which can be built and examined separately – which interact in well-defined ways.

In this lecture What is Programming? A useful definition Object Orientation (and it’s counterparts) Thinking OO Programming Blocks –V–Variables –L–Logic –D–Data Structures –M–Methods

Programming Flavours Procedural – Shopping list approach – Do this, Do that, if this then do that Funtional – More like mathematical functions – Don’t use variables in the ‘traditional’ sense Many others... – The current Big Fish is...

Object Orientated The main idea – Everything is a Thing – There are properties that a Thing has – Eg Dog What are the properties of a dog? What can a dog do?

Classes All the properties of Dog can be wrapped up or contained in a class – A class is a Blue Print – We can build many unique dogs from the same Blue Print – They all have similar properties

In this lecture What is Programming? A useful definition Object Orientation (and it’s counterparts) Thinking OO Programming Blocks –V–Variables –L–Logic –D–Data Structures –M–Methods

Building Blocks Objects and Classes are specific to Object Orientated Programming But there are more common, more fundamental Programming Principles

Variables Like algebra x = 4 Not so much like algebra name = “Rover” Variables have types: – Primitive – numbers stored in binary in the computer – Reference – variables that point to Objects

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

Logic is used... If statements if size<10 dog says “Yip Yip” else dog says “Ruff Ruff” Loops while(number<10) dog says “Bark!” number= number +1

Data Structures Many Data Structures, like: Arrays: – Like tables Everyone’s ages Dogs’ names HashMaps – Associate a key with a value Like PhoneBook Name is associated with this number

Summary What is Programming? A useful definition Object Orientation (and it’s counterparts) Thinking OO Programming Blocks – Variables – Logic – Data Structures – Methods