Lecture 2: Writing Your Own Class Definition
|
|
- Sandra Brown
- 5 years ago
- Views:
Transcription
1 Lecture 2: Writing Your Own Class Definition CS6507 Python Programming and Data Science Applications Dr Kieran T. Herley Department of Computer Science University College Cork
2 Summary Writing class definitions. Instance variable and functions. Initializing functions. Class variables and functions. 1
3 Modules in Python
4 Python modules Module Sources file containing Python code defs for functions and other code objects facilitates modularity and code re-use built in modules third party modules bespoke (write your own!) 2
5 Simple example Suppose file mymaths.py contains pi = hidden = def area(r ): Return area of circle with radius ' r '. global pi return pi r r Can access module objects from within other Python files By convention: internal objects not intended to be accessed outside module have names that begin with underscore 3
6 Simple example cont d Can access mymath stuff using import Approach 1: import mymaths print (mymaths.pi) Refer to things using modulename.thingname format Approach 2: from mymaths import pi print (pi) Refer to things just as thingname Approach 3: from mymaths import print (pi) 4
7 Python module path Executing import, Python searches a list of directories names Python module path the find the module Can see this math using IDLE (see File-Path Browser) or import sys print( sys. path) Can modify path in accommodate new modules; careful with this! 5
8 Class definition basics
9 Classes and objects Class Collection of code objects sharing common behaviour Behaviour specified by class definition ( blueprint ) Object Individual member of a class; program may employ many Implementations Built-in classes Third-party classes Bespoke classes 6
10 A bank-account class Imagine we need a bank-account class to capture details of individual for some financial application Data Operations Customer s name (assumed unique) Account balance (non-negative) Deposit some amount Withdraw some amount Check balance Could write application using these without detailed knowledge of internal Python details; all we need is a summary of behaviour i.e. services provided by bank-account objects 7
11 Class behaviour Each BankAccount object has the following behaviour. deposit(amount) withdraw(amount) get balance() Increase this account s balance by the value of amount. If sufficient balance in this account, reduce balance by value amount or to zero otherwise. Return the value of the reduction. Return the balance of this account. Note each individual BankAccount object has its own individual balance. 8
12 Working with BankAccount2 Can use make use of BankAccount2 without any understanding of its internal implementation detail Example: from bank account2 import acc1 = BankAccount2( Murphy, Tom, 100) # Create an account object acc1. deposit(250) acc1.withdraw(75) dosh = acc1.get balance() # Apply operations to object Note: Syntax for object creation and object function application similar to that for class date 9
13 Class definition Part 1 Class definition for implement bank account. class BankAccount2: Class to represent a simple bank account. # Code for constructor function named init # Code for functions deposit, withdraw and get balance 10
14 Visibility of instance variables Each object maintains two variables: balance the customer s balance name the customer s balance With class def. code these are referred to as self. balance Double underscores emphasize these are not intended to be accessible outside the module; users of BankAccout2 objects manipulate balance only via class functions deposit etc. 11
15 Class definition Part 2 def init ( self, nme =, bal = 0): Create a new account for account holder ' name'. self. name = nme self. balance = bal Special function called once when object is created Initializes any object data (here variables name balance and Note constructor (and other functions take) self as first parameter. 12
16 Class definition Part 2 def deposit( self, amount): Increase this account's balance by the value of 'amount'. self. balance = self. balance + amount def withdraw( self, amount): If sufficient balance in this account, reduce balance by value 'amount' or to zero otherwise. Return the value of the reduction. temp = min(self. balance, amount) self. balance = self. balance temp return temp def get balance( self ): Return the balance of this account. return self. balance 13
17 Notational quirk Function definition indicates two parameters: self and amount def deposit( self, amount): self. balance = self. balance + amount Function usage supplies only one argument (for amount) myaccount.deposit(1000) All functions in class definition take self as their first parameter 14
18 Class vs Instance Functions and Variables
19 Class variables and instance variables Instance variables Class variables Each object is an instance of its class Each instance embodies personal copy of instance variables e.g. balance for our bank-account example Class may also have class variables common to all objects within class i.e. one var.. for many instances e.g. what if we wanted to keep track of num. of bank accounts? 15
20 class BankAccount3: all accounts = [] def init ( self, nme =, bal = 0): self. name = nme self. balance = bal... Instance variable Class variable balance one per instance (account object) Code refer to it using self. balance all accounts only one for entire class (intended to hold the various instances) NB no self... 16
21 A picture BankAccount3: all accounts: BA1 BA2 BA3 BA1 name: Tom balance: deposit(...) withdraw(...) get balance() BA2 name: Dick balance: deposit(...) withdraw(...) get balance() BA3 name: Harry balance: deposit(...) withdraw(...) get balance() (Per-)Class function: num accounts() 17
22 Class Functions and Instance Functions def deposit( self, amount): self. balance = self. balance + amount def num accounts(): return len(bankaccount3.all accounts) Instance functions (Per-)Class functions One copy per instance Have self parameter Called as acc.deposit(250) Only one per class No self parameter Called as BankAccount3.sum accounts() 18
23 A closer look all accounts = [] def init ( self, nme =, bal = 0): self. name = nme self. balance = bal BankAccount3.all accounts.append( self)... def num accounts(): return len(bankaccount3.all accounts) 19
24 While we re at it Class functions to show accounts in decreasing order of balance Notes: def display accounts (): accounts = sorted(bankaccount3.all accounts,\ key = lambda x : x. balance, reverse = True) for acc in accounts: print(acc) sorted function takes two optional arguments reverse to select increasing or decreasing order key to select sorting key; note this can be a function 20
25 Technical Note Python supports two closely-related type of per-class functions: static functions and class functions. The differences are too arcane for us to concern us, so we will use the former (i.e. Python s static function). I use the term class function or per-class function I mean a function associated with the class as a whole even though strictly speaking this should be referred to as static function. 21
26 Back Material
27 Notes and Acknowledgements Reading Code Acknowledgements 22
Lecture 18: Lists II. CS1068+ Introductory Programming in Python. Dr Kieran T. Herley 2018/19. Department of Computer Science University College Cork
Lecture 18: Lists II CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2018/19 Department of Computer Science University College Cork Summary More on Python s lists. Sorting and reversing.
More informationLecture 4: Simple Input-Calculate-Output Programs
Lecture 4: Simple Input-Calculate-Output Programs CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2017/18 Department of Computer Science University College Cork input Statement Python s
More informationLecture 10: Boolean Expressions
Lecture 10: Boolean Expressions CS1068+ Introductory Programming in Python Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (12/10/17) Lecture 10: Boolean Expressions
More informationLecture 2: Python Arithmetic
Lecture 2: Python Arithmetic CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2018/19 Department of Computer Science University College Cork Basic data types in Python Python data types Programs
More informationLecture 7: Functions. CS1068+ Introductory Programming in Python. Dr Kieran T. Herley 2018/19. Department of Computer Science University College Cork
Lecture 7: Functions CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2018/19 Department of Computer Science University College Cork Summary Functions in Python. Terminology and execution.
More informationCS61B Lecture #7. Announcements:
Announcements: CS61B Lecture #7 New discussion section: Tuesday 2 3PM in 310 Soda. New lab section: Thursday 2 4PM in 273 Soda. Programming Contest coming up: 5 October (new date). Watch for details. Last
More informationInheritance in Ruby. You are familiar with the idea of inheritance and how to use this in programming.
Inheritance in Ruby You are familiar with the idea of inheritance and how to use this in programming. In this introduction, I'll describe inheritance in Ruby from scratch. Much of this material should
More informationLecture 11: while loops CS1068+ Introductory Programming in Python. for loop revisited. while loop. Summary. Dr Kieran T. Herley
Lecture 11: while loops CS1068+ Introductory Programming in Python Dr Kieran T. Herley Python s while loop. Summary Department of Computer Science University College Cork 2017-2018 KH (24/10/17) Lecture
More informationLecture 8: Simple Calculator Application
Lecture 8: Simple Calculator Application Postfix Calculator Dr Kieran T. Herley Department of Computer Science University College Cork 2016/17 KH (27/02/17) Lecture 8: Simple Calculator Application 2016/17
More informationAnnouncements. Last modified: Fri Sep 8 00:59: CS61B: Lecture #7 1
Announcements Sign-ups for weekly group tutoring offered by the course tutors have been released! Form will close on Saturday, 9/9, at 11:59PM. You will receive room and time assignments on Sunday via
More informationObject-Oriented Programming
61A Lecture 15 Announcements Object-Oriented Programming Object-Oriented Programming A method for organizing programs Data abstraction Bundling together information and related behavior John's Account
More informationObject Oriented Programming
Object Oriented Programming David E. Culler CS8 Computational Structures in Data Science http://inst.eecs.berkeley.edu/~cs88 Lecture 8 March 28, 2016 Computational Concepts Toolbox Data type: values, literals,
More informationOO design. Classes, Responsibilities, Collaborations (CRC) 13/9/1999 COSC
OO design Classes, Responsibilities, Collaborations (CRC) 1 bank accounts the system to be modelled: bank accounts with differing fee structures purpose: evaluate different account types with respect to
More informationLecture 15: Dictionaries
Lecture 15: Dictionaries CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2018/19 Department of Computer Science University College Cork Summary Python s dictionary concept. 1 Dictionaries
More informationWhat is an algorithm?
Reminders CS 142 Lecture 4 ADTs & Objects Program 1 was assigned - Due on 1/27 by 11:55pm Spring 2015 2 Object-Oriented Programming (OOP) OOP Definitions Imagine: You and your programming team have written
More informationComputational Concepts Toolbox. Object Oriented Programming. Today: class. Review: Objects
Computational Concepts Toolbox Object Oriented Programming David E Culler CS8 Computational Structures in Data Science http://insteecsberkeleyedu/~cs88 Lecture 8 March 28, 2016 Data type: values, literals,
More informationIntroduction to Object-Oriented Programming
Introduction to Python Programming Introduction to Object-Oriented Programming Annemarie Friedrich (anne@cis.uni-muenchen.de) Centrum für Informations- und Sprachverarbeitung LMU München Software objects
More informationObject-oriented basics. Object Class vs object Inheritance Overloading Interface
Object-oriented basics Object Class vs object Inheritance Overloading Interface 1 The object concept Object Encapsulation abstraction Entity with state and behaviour state -> variables behaviour -> methods
More informationProgramming for Engineers in Python
Programming for Engineers in Python Lecture 5: Object Oriented Programming Autumn 2011-12 1 Lecture 4 Highlights Tuples, Dictionaries Sorting Lists Modular programming Data analysis: text categorization
More informationStateful Objects. can I withdraw 100 CHF? may vary over the course of the lifetime of the account.
Functions and State Functions and State Until now, our programs have been side-effect free. Therefore, the concept of time wasn t important. For all programs that terminate, any sequence of actions would
More informationTest-Driven Development (TDD)
Test-Driven Development (TDD) EECS3311 A: Software Design Fall 2018 CHEN-WEI WANG DbC: Supplier DbC is supported natively in Eiffel for supplier: class ACCOUNT create make feature -- Attributes owner :
More informationCMSC201 Computer Science I for Majors
CMSC201 Computer Science I for Majors Lecture 25 Classes All materials copyright UMBC and Dr. Katherine Gibson unless otherwise noted Run time Last Class We Covered Run time of different algorithms Selection,
More informationLecture 8: Context Free Grammars
Lecture 8: Context Free s Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (12/10/17) Lecture 8: Context Free s 2017-2018 1 / 1 Specifying Non-Regular Languages Recall
More informationWeek 8: Functions and States
Week 8: Functions and States Until now, our programs have been side-eect free. Therefore, the concept of time wasn't important. For all programs that terminate, any sequence of actions would have given
More informationObject Oriented Programming
Object Oriented Programming Haleh Ashki 2015, updated Peter Beerli 2017 Traditionally, a program has been seen as a recipe a set of instructions that you follow from start to finish in order to complete
More informationSoftware Design and Analysis for Engineers
Software Design and Analysis for Engineers by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc251 Simon Fraser University Slide Set: 2 Date:
More informationCS 617 Object Oriented Systems Lecture 5 Classes, Classless World:Prototypes, Instance Variables, Class Variables, This/Self 3:30-5:00 pm Thu, Jan 17
Objects, Interfaces and CS 617 Object Oriented Systems Lecture 5, Classless World:Prototypes, Instance Variables, Class Variables, This/Self 3:30-5:00 pm Thu, Jan 17 Rushikesh K Joshi Department of Computer
More informationSimple Lexical Analyzer
Lecture 7: Simple Lexical Analyzer Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (03/10/17) Lecture 7: Simple Lexical Analyzer 2017-2018 1 / 1 Summary Use of jflex
More informationCS 170, Section /3/2009 CS170, Section 000, Fall
Lecture 18: Objects CS 170, Section 000 3 November 2009 11/3/2009 CS170, Section 000, Fall 2009 1 Lecture Plan Homework 5 : questions, comments? Managing g g Data: objects to make your life easier ArrayList:
More informationECE 122. Engineering Problem Solving with Java
ECE 122 Engineering Problem Solving with Java Lecture 6 Problem Definition and Implementation Outline Problem: Create, read in and print out four sets of student grades Setting up the problem Breaking
More informationAlgorithms and Programming
Algorithms and Programming Lecture 6 Classes, UML, NumPy Camelia Chira Course content Introduction in the software development process Procedural programming Modular programming Abstract data types Software
More informationObject Oriented Programming #10
Object Oriented Programming #10 Serdar ARITAN Biomechanics Research Group, Faculty of Sports Sciences, and Department of Computer Graphics Hacettepe University, Ankara, Turkey 1 Simple programming tasks
More informationSIMPLE I/O WITH PYTHON
SIMPLE I/O WITH PYTHON José M. Garrido Department of Computer Science May 2015 College of Computing and Software Engineering Kennesaw State University c 2015, J. M. Garrido Simple I/O with Python 2 Simple
More informationUser Defined Types. Babes-Bolyai University Lecture 06. Lect Phd. Arthur Molnar. User defined types. Python scope and namespace
? User Defined Types Babes-Bolyai University arthur@cs.ubbcluj.ro Overview? 1? 2 3 ? NB! Types classify values. A type denotes a domain (a set of values) operations on those values. ? Object oriented programming
More informationCOMP-202 Unit 8: Defining Your Own Classes. CONTENTS: Class Definitions Attributes Methods and Constructors Access Modifiers and Encapsulation
COMP-202 Unit 8: Defining Your Own Classes CONTENTS: Class Definitions Attributes Methods and Constructors Access Modifiers and Encapsulation Defining Our Own Classes (1) So far, we have been creating
More informationFunctional Programming, Classes, and Recursion!
CS 1301 Homework 9 Functional Programming, Classes, and Recursion! Due: Monday, April 20 th before 11:55 pm THIS IS AN INDIVIDUAL ASSIGNMENT! Students are expected to abide by the Georgia Tech Honor Code.
More informationLecture 10: Strings. CS1068+ Introductory Programming in Python. Dr Kieran T. Herley 2018/19. Department of Computer Science University College Cork
Lecture 10: Strings CS1068+ Introductory Programming in Python Dr Kieran T. Herley 2018/19 Department of Computer Science University College Cork Summary 1 Python text: data type str String sequences of
More informationPython, Part 2 CS 8: Introduction to Computer Science Lecture #4
Python, Part 2 CS 8: Introduction to Computer Science Lecture #4 Ziad Matni Dept. of Computer Science, UCSB A Word About Registration for CS8 This class is currently FULL The waitlist is CLOSED 4/13/17
More informationCS1020 Data Structures and Algorithms I Lecture Note #8. Exceptions Handling exceptional events
CS1020 Data Structures and Algorithms I Lecture Note #8 Exceptions Handling exceptional events Objectives Understand how to use the mechanism of exceptions to handle errors or exceptional events that occur
More informationChapter 9: High Level Language
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005 www.idc.ac.il/tecs Chapter 9: High Level Language Usage and Copyright Notice: Copyright 2005 Noam Nisan and Shimon Schocken This presentation
More informationWhere do we stand on inheritance?
In C++: Where do we stand on inheritance? Classes can be derived from other classes Basic Info about inheritance: To declare a derived class: class :public
More informationCS108 Lecture 16: User Defined Classes. Overview/Questions
CS108 Lecture 16: User Defined Classes Aaron Stevens 23 February 2009 1 Overview/Questions Review: the function of functions Thinking about program structure Review: objects and classes How do we design
More informationCS 112 Intro to Programming Basic OO Concepts
CS 112 Intro to Programming Basic OO Concepts George Mason University Building up to classes: Python Data Types Primitive Data Types: integer, floating point, boolean, None, etc Complex Data Types: Sequence:
More informationCS61B Lecture #5: Arrays and Objects
CS61B Lecture #5: Arrays and Objects For faster response, please send urgent problems (like the lab files don t compile ) as mail to cs61b, rather than using class messages. Homeworks are generally due
More informationIntroduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University
Introduction to Computers and Programming Languages CS 180 Sunil Prabhakar Department of Computer Science Purdue University 1 Objectives This week we will study: The notion of hardware and software Programming
More informationTypes of recursion. Structural vs. general recursion. Pure structural recursion. Readings: none. In this module: learn to use accumulative recursion
Types of recursion Readings: none. In this module: learn to use accumulative recursion learn to recognize generative recursion CS 135 Fall 2018 07: Types of recursion 1 Structural vs. general recursion
More informationCS 1302 Chapter 9 (Review) Object & Classes
CS 1302 Chapter 9 (Review) Object & Classes Reference Sections 9.2-9.5, 9.7-9.14 9.2 Defining Classes for Objects 1. A class is a blueprint (or template) for creating objects. A class defines the state
More informationObjects. say something to express one's disapproval of or disagreement with something.
Objects say something to express one's disapproval of or disagreement with something. class Person: def init (self, name, age): self.name = name self.age = age p1 = Person("John", 36) class Person: def
More informationLecture 4: Basic I/O
Lecture 4: Basic I/O CS1068+ Introductory Programming in Python Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (21/09/17) Lecture 4: Basic I/O 2017-2018 1 / 20
More informationPROGRAMMING IN C AND C++:
PROGRAMMING IN C AND C++: Week 1 1. Introductions 2. Using Dos commands, make a directory: C:\users\YearOfJoining\Sectionx\USERNAME\CS101 3. Getting started with Visual C++. 4. Write a program to print
More informationJava Object Oriented Design. CSC207 Fall 2014
Java Object Oriented Design CSC207 Fall 2014 Design Problem Design an application where the user can draw different shapes Lines Circles Rectangles Just high level design, don t write any detailed code
More informationSpring 2003 Instructor: Dr. Shahadat Hossain. Administrative Matters Course Information Introduction to Programming Techniques
1 CPSC2620 Advanced Programming Spring 2003 Instructor: Dr. Shahadat Hossain 2 Today s Agenda Administrative Matters Course Information Introduction to Programming Techniques 3 Course Assessment Lectures:
More informationPackages & Random and Math Classes
Packages & Random and Math Classes Quick review of last lecture September 6, 2006 ComS 207: Programming I (in Java) Iowa State University, FALL 2006 Instructor: Alexander Stoytchev Objects Classes An object
More information61A LECTURE 12 OOP 2, INHERITANCE. Steven Tang and Eric Tzeng July 14, 2013
61A LECTURE 12 OOP 2, INHERITANCE Steven Tang and Eric Tzeng July 14, 2013 Announcements Midterm grades are up Average: 34 First quartile: 26.5 Median: 36.0 Third quartile: 43.0 Hog contest strategy due
More informationAlastair Burt Andreas Eisele Christian Federmann Torsten Marek Ulrich Schäfer. October 6th, Universität des Saarlandes. Introduction to Python
Outline Alastair Burt Andreas Eisele Christian Federmann Torsten Marek Ulrich Schäfer Universität des Saarlandes October 6th, 2009 Outline Outline Today s Topics: 1 More Examples 2 Cool Stuff 3 Text Processing
More informationScope and Parameter Passing 1 / 19
Scope and Parameter Passing 1 / 19 Outline Overview Naming and scope Function/procedure calls Static vs. dynamic scope Parameter passing schemes 2 / 19 Review of naming Most languages provide a way to
More informationLecture 12: Parser-Generating Tools
Lecture 12: Parser-Generating Tools Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (31/10/17) Lecture 12: Parser-Generating Tools 2017-2018 1 / 27 Summary Overview
More informationTypes of recursion. Readings: none. In this module: a glimpse of non-structural recursion. CS 135 Winter : Types of recursion 1
Types of recursion Readings: none. In this module: a glimpse of non-structural recursion CS 135 Winter 2018 07: Types of recursion 1 Structural vs. general recursion All of the recursion we have done to
More informationStreams. CS21b: Structure and Interpretation of Computer Programs Spring Term, 2004
Streams CS21b: Structure and Interpretation of Computer Programs Spring Term, 2004 We ve already seen how evaluation order can change behavior when we program with state. Now we want to investigate how
More informationAquarium: AOP for Ruby
Aquarium: AOP for Ruby Dean Wampler Object Mentor, Inc. dean@objectmentor.com AOSD 2008 April 3, 2008 1 Goals and Features Provide an intuitive syntax. Support runtime addition and removal of advice. Advise
More informationLecture 1: Relational Databases
Lecture 1: Relational Databases CS1106/CS5021/CS6503 Introduction to Relational Databases Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (12/09/17) Lecture 1: Relational
More informationSyntax of Eiffel: a Brief Overview
Syntax of Eiffel: a Brief Overview EECS3311 A: Software Design Fall 2018 CHEN-WEI WANG Escape Sequences Escape sequences are special characters to be placed in your program text. In Java, an escape sequence
More informationWhat is an algorithm?
Reminders CS 142 Lecture 3 Analysis, ADTs & Objects Program 1 was assigned - Due on 1/27 by 11:55pm 2 Abstraction Measuring Algorithm Efficiency When you utilize the mylist.index(item) function you are
More informationCommands, and Queries, and Features. Syntax of Eiffel: a Brief Overview. Escape Sequences. Naming Conventions
Commands, and Queries, and Features Syntax of Eiffel: a Brief Overview EECS3311 A: Software Design Fall 2018 CHEN-WEI WANG In a Java class: Attributes: Data Mutators: Methods that change attributes without
More informationCh.7: Introduction to classes (part 2)
Ch.7: Introduction to classes (part 2) Joakim Sundnes 1,2 Hans Petter Langtangen 1,2 Simula Research Laboratory 1 University of Oslo, Dept. of Informatics 2 Oct 27, 2017 Plan for Oct 27 Recap of class
More informationProfessor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors
Objects (again) Professor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors (Slides include materials from Python Programming: An Introduction to Computer Science, 2 nd edition, by John
More informationVARIABLES AND TYPES CITS1001
VARIABLES AND TYPES CITS1001 Scope of this lecture Types in Java the eight primitive types the unlimited number of object types Values and References The Golden Rule Primitive types Every piece of data
More informationCSCI 253. Outline. Background. George Blankenship 1
CSCI 253 Object Oriented Design: Object Oriented Design and Programming in Java George Blankenship George Blankenship 1 Outline Background Rationale for the course Why object oriented programming? OOP
More informationCOMP519 Web Programming Lecture 21: Python (Part 5) Handouts
COMP519 Web Programming Lecture 21: Python (Part 5) Handouts Ullrich Hustadt Department of Computer Science School of Electrical Engineering, Electronics, and Computer Science University of Liverpool Functions
More informationIntroduction to Unified Modelling Language (UML)
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Introduction to Unified
More informationLecture #2: Programming Structures: Loops and Functions
UC Berkeley EECS Adj. Ass. Prof. Dr. Gerald Friedland Computational Structures in Data Science Lecture #2: Programming Structures: Loops and Functions Administrivia If you are waitlisted: Please wait.
More informationJAVA: A Primer. By: Amrita Rajagopal
JAVA: A Primer By: Amrita Rajagopal 1 Some facts about JAVA JAVA is an Object Oriented Programming language (OOP) Everything in Java is an object application-- a Java program that executes independently
More informationC# Programming Exercises (extra)
EASJ Notes C# Programming Exercises (extra) (used in conjunction with Object-Oriented Programming With C#) By Per Laursen 06-02-2017 Content Extra.1... 3 How to use this exercise set This set of exercises
More informationLast lecture. Lecture 9. in a nutshell. in a nutshell 2. Example of encapsulation. Example of encapsulation. Class test. Procedural Programming
1 Lecture 9 Last lecture Class test Has been marked Collect your marks at your next seminar Seminars There are seminars this week to go through the class test Meet in the classroom indicated on the timetable
More informationModules and scoping rules
C H A P T E R 1 1 Modules and scoping rules 11.1 What is a module? 106 11.2 A first module 107 11.3 The import statement 109 11.4 The module search path 110 11.5 Private names in modules 112 11.6 Library
More informationComp 151. Control structures.
Comp 151 Control structures. admin quiz this week believe it or not only 2 weeks from exam. one a week each week after that. idle debugger Debugger: program that will let you look at the program as it
More informationLecture 08: Static Fields and Methods
Accelerating Information Technology Innovation http://aiti.mit.edu Lecture 08: Static Fields and Methods AITI Nigeria Summer 2012 University of Lagos. What You Know So Far Each object has its own copy
More informationLarvaLight User Manual
LarvaLight User Manual LarvaLight is a simple tool enabling the user to succinctly specify monitors which trigger upon events of an underlying Java system, namely method calls and returns. If the events
More informationLecture 17: Classes (Chapter 15)
http://www.cs.cornell.edu/courses/cs1110/018sp Lecture 17: Classes (Chapter 15) CS 1110 Introduction to Computing Using Python [E. Andersen, A. Bracy, D. Gries, L. Lee, S. Marschner, C. Van Loan, W. White]
More informationContainer Vs. Definition Classes. Container Class
Overview Abstraction Defining new classes Instance variables Constructors Defining methods and passing parameters Method/constructor overloading Encapsulation Visibility modifiers Static members 14 November
More informationFunctional Programming. Pure Functional Programming
Functional Programming Pure Functional Programming Computation is largely performed by applying functions to values. The value of an expression depends only on the values of its sub-expressions (if any).
More informationIntroduction to Classes and Objects Pearson Education, Inc. All rights reserved.
1 3 Introduction to Classes and Objects 2 You will see something new. Two things. And I call them Thing One and Thing Two. Dr. Theodor Seuss Geisel Nothing can have value without being an object of utility.
More informationProfessor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors
First Python Program Professor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors (Slides include materials from Python Programming: An Introduction to Computer Science, 2 nd edition, by
More informationCS1 Lecture 22 Mar. 6, 2019
CS1 Lecture 22 Mar. 6, 2019 HW 5 due Friday Questions? In discussion exams next week Last time Ch 12. Zip, lambda, etc Default/keyword function parameters Ch 19 conditional expresssions, list comprehensions
More informationEncapsulation. Mason Vail Boise State University Computer Science
Encapsulation Mason Vail Boise State University Computer Science Pillars of Object-Oriented Programming Encapsulation Inheritance Polymorphism Abstraction (sometimes) Object Identity Data (variables) make
More informationCS150 Sample Final. Name: Section: A / B
CS150 Sample Final Name: Section: A / B Date: Start time: End time: Honor Code: Signature: This exam is closed book, closed notes, closed computer, closed calculator, etc. You may only use (1) the final
More informationObject Oriented Programming
Object Oriented Programming Objectives To review the concepts and terminology of object-oriented programming To discuss some features of objectoriented design 1-2 Review: Objects In Java and other Object-Oriented
More informationClass 9: Static Methods and Data Members
Introduction to Computation and Problem Solving Class 9: Static Methods and Data Members Prof. Steven R. Lerman and Dr. V. Judson Harward Goals This the session in which we explain what static means. You
More informationEntry Point of Execution: the main Method. Elementary Programming. Learning Outcomes. Development Process
Entry Point of Execution: the main Method Elementary Programming EECS1021: Object Oriented Programming: from Sensors to Actuators Winter 2019 CHEN-WEI WANG For now, all your programming exercises will
More informationIntroduction to Programming Using Python Lecture 4. Dr. Zhang COSC 1437 Fall, 2018 October 11, 2018
Introduction to Programming Using Python Lecture 4 Dr. Zhang COSC 1437 Fall, 2018 October 11, 2018 Chapter 7 Object-Oriented Programming Object-oriented programming (OOP) involves programming using objects.
More informationObject-Oriented Programming Concepts
Object-Oriented Programming Concepts Real world objects include things like your car, TV etc. These objects share two characteristics: they all have state and they all have behavior. Software objects are
More informationLecture 5: Regular Expression and Finite Automata
Lecture 5: Regular Expression and Finite Automata Dr Kieran T. Herley Department of Computer Science University College Cork 2017-2018 KH (28/09/17) Lecture 5: Regular Expression and Finite Automata 2017-2018
More informationAdministrivia. IBM Info Session Date: Wed,, Jan 13 Time: 5:30 7 pm Location: Wesbrook 100
Department of Computer Science Undergraduate Events Events this week Drop-In Resume Edition Date: Mon. Jan 11 Time: 11 am 2 pm Location: Rm 255, ICICS/CS Industry Panel Speakers: Managers from IBM, Microsoft,
More informationEXAM Computer Science 1 Part 1
Maastricht University Faculty of Humanities and Science Department of Knowledge Engineering EXAM Computer Science 1 Part 1 Block 1.1: Computer Science 1 Code: KEN1120 Examiner: Kurt Driessens Date: Januari
More informationCS 302: INTRODUCTION TO PROGRAMMING IN JAVA. Lecture 16
CS 302: INTRODUCTION TO PROGRAMMING IN JAVA Lecture 16 REVIEW What is aggregation? Object variables are what type of variables? What does null mean? How do you test for null? How is a tostring() method
More informationIntroduction to Classes and Objects
1 2 Introduction to Classes and Objects You will see something new. Two things. And I call them Thing One and Thing Two. Dr. Theodor Seuss Geisel Nothing can have value without being an object of utility.
More informationData types. CISC 1600/1610 Computer Science I. Class dog. Introducing: classes. Class syntax declaration. Class syntax function definitions 12/2/2015
CISC 1600/1610 Computer Science I Classes Professor Daniel Leeds dleeds@fordham.edu JMH 328A Data types Single pieces of information one integer int one symbol char one truth value bool Multiple pieces
More informationProgramming Safe Agents in Blueprint. Alex Muscar University of Craiova
Programming Safe Agents in Blueprint Alex Muscar University of Craiova Programmers are craftsmen, and, as such, they are only as productive as theirs tools allow them to be Introduction Agent Oriented
More informationIndustrial Programming
Industrial Programming Lecture 4: C# Objects & Classes Industrial Programming 1 What is an Object Central to the object-oriented programming paradigm is the notion of an object. Objects are the nouns a
More informationWhat is an Object. Industrial Programming. What is a Class (cont'd) What is a Class. Lecture 4: C# Objects & Classes
What is an Object Industrial Programming Lecture 4: C# Objects & Classes Central to the object-oriented programming paradigm is the notion of an object. Objects are the nouns a person called John Objects
More information