PROGRAMMING PARADIGMS

Slides:



Advertisements
Similar presentations
F28PL1 Programming Languages Greg Michaelson/Jamie Gabbay Lecture 0: Overview.
Advertisements

CSE 332: C++ overview CSE 332 Overview and Structure CSE 332 emphasizes studio-based active learning –Introductory lecture material followed by hands-on.
Object-Oriented Programming Python. OO Paradigm - Review Three Characteristics of OO Languages –Inheritance It isn’t necessary to build every class from.
Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
Chapter 1 OO using C++. Abstract Data Types Before we begin we should know how to accomplish the goal of the program We should know all the input and.
Programming II - Part 1 – Object Oriented Programming with Java Sebastian Uchitel
CM10134-CM50147 Programming I Basic Programming in Java Marina De Vos.
CSC 111 Course orientation
CO320 Introduction to Object- Oriented Programming Michael Kölling 3.0.
1 OO Java, Baile Herculane, Romania, 2005 OO Java Requirements Specification - Produce highly adaptable teaching materials - 1 st step: collect all useful.
New experiences with teaching Java as a second programming language Ioan Jurca “Politehnica” University of Timisoara/Romania
1 CSCE Programming Languages Introduction and Course Administration Dr. Hyunyoung Lee 410B HR Bright
CE0825 Object-Oriented Programming 2 © Allan C. Milne Abertay University v
EECE 310 Software Engineering Lecture 0: Course Orientation.
Object Oriented Design and Programming Alan Goude Room: Sheaf 9323.
5.0 Objects First with Java A Practical Introduction using BlueJ Introduction to Computer Science I Instructor: Allyson Anderson.
An analysis of exam results in the Object-Oriented Programming course at „Politehnica” University of Timisoara Ioan Jurca.
Programming Languages –14 David Watt (Glasgow) Steven Wong (Singapore) Moodle : Computing Science → Level 3 → Programming Languages 3 © 2012 David.
1 Programming Language History and Evolution In Text: Chapter 2.
Object Oriented Programming Lecture 1: Introduction.
Module Overview n Module Title: OO Programming n Module Code: MIT3446 n Module Value: 3.0 n Duration: 15 weeks n Class-Contact Hours: Lecture15 hrs n Lab/Tutor30hrs.
CS112: Structure of Programming Languages A smorgasbord of topics in programming languages including programming paradigms and syntax, semantics, implementation.
1 IDLOOPC1998. Object-Oriented Programming Using C++ CLASS 1.
CS1101: Programming Methodology
© Peter Andreae What is Programming About COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
Boris Milašinović Faculty of Electrical Engineering and Computing University of Zagreb, Croatia 15th Workshop on "Software Engineering Education and Reverse.
Course Preliminaries Course Objectives Course Objectives Students’ Learning Outcomes Students’ Learning Outcomes Grading Policy Grading Policy Course Resources.
CSC 205 Java Programming II Introduction. Topics Syllabus Course goals and approach Review I Java language fundamentals.
서울대한양대 ( 안 산 ) 충남대 1년1년 컴퓨터기초 (C) 컴퓨터프로그래밍 (C, Java) 컴퓨터프로그래밍 (C) 2. 봄 프로그래밍 원리 (Scheme, ML) Structure & Interpretation of Computer Programs 프로그래밍 방법론.
DEVRY COMP 220 iLab 7 Polymorphism Lab Report and Source Code Check this A+ tutorial guideline at
Programming Language History and Evolution
Functional Programming
Cen 112 C Programming Özgür Örnek.
Andy Wang Object Oriented Programming in C++ COP 3330
COMP9024: Data Structures and Algorithms
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.
CSc 020: Programming Concepts and Methodology II
Analysis and Comparison is ICS4U
CSE 332 Overview and Structure
OOP What is problem? Solution? OOP
Object-Orientated Programming
Programming Language History and Evolution
CSE 332 Overview and Structure
Two part course Software Engineering option only!
Introduction to Programming 2
CSE 332 Overview and Structure
Andy Wang Object Oriented Programming in C++ COP 3330
EECE 310 Software Engineering
FUNCTIONAL PROGRAMMING
FUNCTIONAL PROGRAMMING
COMP2012H Object-Oriented Programming and Data Structures
Introduction to Computer Science for Majors II
G53OPS Operating Systems
Java Programming Course
2D1359 & 2D1360 : Object Oriented Modeling, Programming & Analysis
PROGRAMMING PARADIGMS
Objects First with Java A Practical Introduction using BlueJ
CSE Object Oriented Programing
Overview of Programming Paradigms
Review B.Ramamurthy 4/6/2019 BR.
SE-1021 Software Development 2
1.4 ทบทวน JAVA OO Programming Concepts Declaring and Creating Objects
ICS201 Introduction To Computing II
Objects First with Java A Practical Introduction using BlueJ
Functional Programming and Haskell
CSCE 314: Programming Languages Dr. Dylan Shell
Final Review B.Ramamurthy 5/8/2019 BR.
CS114B Introduction to Computer Science II
Computer Engineering Department Islamic University of Gaza
Functional Programming and Haskell
Presentation transcript:

PROGRAMMING PARADIGMS Jason Atkin and Graham Hutton University of Nottingham

Write down all the languages you have written a program in. Exercise Write down all the languages you have written a program in. 1

Background In programming and algorithms, you learned the basics of imperative programming in C: Variables and assignments; Basic control structures; Basic data structures; Functions and parameters; Pointers and memory management. 2

Background In this module, you’ll learn the basics of: Object-oriented programming in Java Functional programming in Haskell and 3

Lectures Labs Tuesdays, 13.00 – 14.00, B52 (Business South); Wednesdays, 09.00 – 10.00, LT2 (Exchange); Fridays, 09.00 – 10.00, LT2 (Exchange). Labs Tuesdays, 14.00 – 16.00, A32 (Comp Sci). 4

See: tinyurl.com/G51PGP-2017 Course Materials Everything you need is available on moodle: See: tinyurl.com/G51PGP-2017 5

Textbook In addition to our course materials, there is also a recommended textbook for each paradigm: 6

Assessment A series of short exercise sheets (10%); Two programming courseworks (15%); One 2.5-hour written examination (75%). The exercise sheets and courseworks will mainly be assessed in the labs.

Underlying principles are not specific to Haskell Functional Topics Basic Concepts Types and classes Defining functions List comprehensions Recursive functions Higher-order functions Going Further Declaring new types The countdown problem Interactive programs Lazy evaluation Functional style Underlying principles are not specific to Haskell

Object-Oriented Topics Understanding Java using C OO Design Member functions, Statics, Encapsulation Classes and Objects Aggregation Design patterns Inheritance, Virtual functions Objects in Objects Creating good designs Standard solutions Specialisation, Sub-type polymorphism Collection Classes, Generics Java UI, Swing Examples of design patterns Underlying principles are not specific to Java Parametric Polymorphism Using an existing class library to illustrate design patterns

Object-Oriented Demo