Professor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors

Size: px
Start display at page:

Download "Professor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors"

Transcription

1 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 Zelle and copyright notes by Prof. George Heineman of ) 1

2 Objects review Reading assignment: Chapter 4 Needed for HW #3 And everything else we do in this course! Object: computational abstraction that includes Data Methods (a. k. a. Functions) P. 81: Objects know stuff Objects do stuff Objects can refer to other objects Objects can interact with other objects An object may be assigned to a variable Or, equivalently, to an element of a list CS-1004, A-Term 2014 Variables, Lists, and Objects 2

3 Objects review (continued) Objects are organized into Classes All objects in a class have the same kind of information All objects in a class have the same set of methods (a.k.a. functions) Classes are discussed in Chapter 10 Including how to define new classes How to construct objects of a class How to define methods of a class How to define data elements of a class object Probably will not get to this chapter in this course CS-1004, A-Term 2014 Variables, Lists, and Objects 3

4 Object Notation review If X is an object of class C, and if class C has a method/function named f, then the notation X.f() means Apply the function f (and its arguments) to the object X I.e., f may cause the object X to DO something Or f may cause the object X to change what it knows CS-1004, A-Term 2014 Variables, Lists, and Objects 4

5 Creating Objects review If C is a class, then the constructor function for that class is also named C V = C(arg 1, arg 2, ) creates a new object of class C and assigns it to variable V All of the methods associated with class C are now available for object V Examples CS-1004, A-Term 2014 Variables, Lists, and Objects 5

6 Assigning Objects review V = SomeClass(<arguments> ) W = V causes W and V to now refer to the very same object Not to copies of each other, but exactly the same object CS-1004, A-Term 2014 Variables, Lists, and Objects 6

7 Questions? 7

8 How do we create new classes? See Chapter 10 Keyword class followed by class name followed by method functions all indented under class the first parameter representing object 8

9 Textbook example Multi-sided die class MSDie: def init (self, sides): self.sides = sides self.value = 1 def roll(self): self.value = randrange(1, self.sides + 1) def getvalue(self): return self.value def setvalue(self, value): self.value = value 9

10 Textbook example (continued) Multi-sided die class MSDie: def init (self, sides): self.sides = sides self.value = 1 def roll(self): self.value = randrange(1, self.sides + 1) def getvalue(self): return self.value def setvalue(self, value): self.value = value Note colon after class name Note indentation of method definitions Note 2 nd indentation of method bodies 10

11 Textbook example (continued) Multi-sided die class MSDie: def init (self, sides): self.sides = sides self.value = 1 Special function name Name init () is function called to create object of class I.e., when application says MSDie(6) Python sets aside memory for one MSDie object and invokes init with self referring to that memory Arguments of classname assigned to additional parameters of init 11

12 Textbook example (continued) Multi-sided die class MSDie: def init (self, sides): self.sides = sides self.value = 1 self is just a parameter name 'Self' could be any name Refers to the object Remember: Parameters act variables assigned at time function/method is called All class methods must have first parameter referring to object 12

13 Textbook example (continued) Multi-sided die class MSDie: def init (self, sides): self.sides = sides self.value = 1 Other parameters def roll(self): self.value = randrange(1, self.sides + 1) def getvalue(self): return self.value def setvalue(self, value): self.value = value All class methods must have first parameter referring to object 13

14 Textbook example (continued) Multi-sided die class MSDie: def init (self, sides): self.sides = sides self.value = 1 These are instance variables They make it possible of object to know stuff Called fields in Java Called members in C/C++ Part of every object of this class Dot notation to access with methods 14

15 Textbook example (continued) Multi-sided die class MSDie: def init (self, sides): self.sides = sides self.value = 1 def roll(self): self.value = randrange(1, self.sides + 1) def getvalue(self): return self.value def setvalue(self, value): self.value = value init initializes instance variables Other methods use and/or manipulate them 15

16 Questions? 16

17 Example Game of Life 17

Example: Class MSDie Introduction to Graphs and NetworkX

Example: Class MSDie Introduction to Graphs and NetworkX Example: Class MSDie Introduction to Graphs and NetworkX Monday, March 30, 2009 1 Be careful whose random number generator you trust http://xkcd.com/221/ 2 1 Reminders Sample exam questions have been posted

More information

Professor Hugh C. Lauer CS-1004 Introduction to Programming for Non-Majors

Professor 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 information

Defining Classes. CS Recitation 11

Defining Classes. CS Recitation 11 Defining Classes CS 177 - Recitation 11 Recap Previous week We know how to define functions Define a function: Call a function: def function(value): temp = value * value return temp def main(): result

More information

Introduction. We've seen Python useful for. This lecture discusses Object Oriented Programming. Simple scripts Module design

Introduction. We've seen Python useful for. This lecture discusses Object Oriented Programming. Simple scripts Module design Introduction We've seen Python useful for Simple scripts Module design This lecture discusses Object Oriented Programming Better program design Better modularization What is an object? An object is an

More information

Introduction to Computer Programming for Non-Majors

Introduction to Computer Programming for Non-Majors Introduction to Computer Programming for Non-Majors CSC 2301, Fall 2016 Chapter 10 Part 1 Instructor: Long Ma The Department of Computer Science Top-Down Design 2 In top-down design, a complex problem

More information

CS108 Lecture 16: User Defined Classes. Overview/Questions

CS108 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 information

Consolidation and Review

Consolidation and Review Consolidation and Review 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,

More information

Outline: Defining objects (Ch10)

Outline: Defining objects (Ch10) Defining objects Michael Mandel Lecture 10 Methods in Computational Linguistics I The City University of New York, Graduate Center https://github.com/ling78100/lectureexamples/blob/master/lecture10final.ipynb

More information

CS 11 python track: lecture 2

CS 11 python track: lecture 2 CS 11 python track: lecture 2 Today: Odds and ends Introduction to object-oriented programming Exception handling Odds and ends List slice notation Multiline strings Docstrings List slices (1) a = [1,

More information

Chapter 2 Writing Simple Programs

Chapter 2 Writing Simple Programs Chapter 2 Writing Simple Programs Charles Severance Textbook: Python Programming: An Introduction to Computer Science, John Zelle (www.si182.com) Software Development Process Figure out the problem - for

More information

Lecture 21. Topics: Chapter 10. Defining Classes 10.4 Data processing with class 10.5 Objects and encapsulation 10.6 Widgets

Lecture 21. Topics: Chapter 10. Defining Classes 10.4 Data processing with class 10.5 Objects and encapsulation 10.6 Widgets Lecture 21 Topics: Chapter 10. Defining Classes 10.4 Data processing with class 10.5 Objects and encapsulation 10.6 Widgets 1 10.4 Data processing with class Example with dice from the previous meeting

More information

Introduction to Computer Programming for Non-Majors

Introduction to Computer Programming for Non-Majors Introduction to Computer Programming for Non-Majors CSC 2301, Fall 2014 Chapter 10 Part 2 The Department of Computer Science Cannonball Program Specification Let s try to write a program that simulates

More information

Object Oriented Programming in Python

Object Oriented Programming in Python Object Oriented Programming in Python 1 It s all objects What is object? data-type: string, list, dictionary,... object is defined as class in python What does object consist of? instance (variable) method

More information

Objects and Classes. Chapter 8

Objects and Classes. Chapter 8 200 Chapter 8 Objects and Classes The style of programming we have seen so far is called procedural programming. This was the first programming paradigm, developed in the 1950 s and 1960 s alongside the

More information

03 Pyro. Python Remote Objects. Distributed Object Technology. 100% pure Python Naming Service Mobile objects Exceptions transports

03 Pyro. Python Remote Objects. Distributed Object Technology. 100% pure Python Naming Service Mobile objects Exceptions transports 03 Pyro Python Remote Objects Pyro3 - https://pythonhosted.org/pyro/ Pyro4 - https://pythonhosted.org/pyro4/ Distributed Object Technology RMI Mobile code 100% pure Python Naming Service Mobile objects

More information

Lecture. Classes. Richard E Sarkis CSC 161: The Art of Programming

Lecture. Classes. Richard E Sarkis CSC 161: The Art of Programming Lecture Classes Richard E Sarkis CSC 161: The Art of Programming Class Administrivia Agenda Formalize our understanding of objects To appreciate how defining new classes and using objects can provide structure

More information

Flow Control: Branches and loops

Flow Control: Branches and loops Flow Control: Branches and loops In this context flow control refers to controlling the flow of the execution of your program that is, which instructions will get carried out and in what order. In the

More information

CS 231 Data Structures and Algorithms, Fall 2016

CS 231 Data Structures and Algorithms, Fall 2016 CS 231 Data Structures and Algorithms, Fall 2016 Dr. Bruce A. Maxwell Department of Computer Science Colby College Course Description Focuses on the common structures used to store data and the standard

More information

SI Networked Computing: Storage, Communication, and Processing, Winter 2009

SI Networked Computing: Storage, Communication, and Processing, Winter 2009 University of Michigan Deep Blue deepblue.lib.umich.edu 2009-01 SI 502 - Networked Computing: Storage, Communication, and Processing, Winter 2009 Severance, Charles Severance, C. (2008, December 19). Networked

More information

Introduction to Python programming, II

Introduction to Python programming, II GC3: Grid Computing Competence Center Introduction to Python programming, II (with a hint of MapReduce) Riccardo Murri Grid Computing Competence Center, University of Zurich Oct. 10, 2012 Today s class

More information

Your first C and C++ programs

Your first C and C++ programs Your first C and C++ programs Professor Hugh C. Lauer CS-2303, System Programming Concepts (Slides include materials from The C Programming Language, 2 nd edition, by Kernighan and Ritchie, Absolute C++,

More information

Introduction to Python programming, II

Introduction to Python programming, II Grid Computing Competence Center Introduction to Python programming, II Riccardo Murri Grid Computing Competence Center, Organisch-Chemisches Institut, University of Zurich Nov. 16, 2011 Today s class

More information

Basics of Programming with Python

Basics of Programming with Python Basics of Programming with Python A gentle guide to writing simple programs Robert Montante 1 Topics Part 3 Obtaining Python Interactive use Variables Programs in files Data types Decision-making Functions

More information

Scala Style Guide Spring 2018

Scala Style Guide Spring 2018 CS18 Integrated Introduction to Computer Science Fisler, Nelson Scala Style Guide Spring 2018 Contents 1 Introduction 1 2 Naming 1 3 Formatting 2 4 Class Declarations 3 5 Functional Paradigms 4 6 Comments

More information

Spring, 2014 CIT 590. Programming Languages and Techniques Homework 7

Spring, 2014 CIT 590. Programming Languages and Techniques Homework 7 Spring, 2014 CIT 590 Programming Languages and Techniques Homework 7 Mar 21, 2014; Due Mar 28, 2014, before first recitation This homework deals with the following topics * Getting started with Java *

More information

Object Oriented Programming

Object 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 information

CSC 222: Object-Oriented Programming. Fall 2015

CSC 222: Object-Oriented Programming. Fall 2015 CSC 222: Object-Oriented Programming Fall 2015 Understanding class definitions class structure fields, constructors, methods parameters assignment statements conditional statements local variables 1 Looking

More information

CS 11 python track: lecture 4

CS 11 python track: lecture 4 CS 11 python track: lecture 4 Today: More odds and ends assertions "print >>" syntax more on argument lists functional programming tools list comprehensions More on exception handling More on object-oriented

More information

Background. Reflection. The Class Class. How Objects Work

Background. Reflection. The Class Class. How Objects Work Background Reflection Turing's great insight: programs are just another kind of data Source code is text Manipulate it line by line, or by parsing expressions Compiled programs are data, too Integers and

More information

Unit E Step-by-Step: Programming with Python

Unit E Step-by-Step: Programming with Python Unit E Step-by-Step: Programming with Python Computer Concepts 2016 ENHANCED EDITION 1 Unit Contents Section A: Hello World! Python Style Section B: The Wacky Word Game Section C: Build Your Own Calculator

More information

class objects instances Fields Constructors Methods static

class objects instances Fields Constructors Methods static Class Structure Classes A class describes a set of objects The objects are called instances of the class A class describes: Fields (instance variables)that hold the data for each object Constructors that

More information

OBJECT ORIENTED PROGRAMMING

OBJECT ORIENTED PROGRAMMING OBJECT ORIENTED PROGRAMMING (download slides and.py files follow along!) 6.0001 LECTURE 8 6.0001 LECTURE 8 1 OBJECTS Python supports many different kinds of data 1234 3.14159 "Hello" [1, 5, 7, 11, 13]

More information

CS201 - Assignment 3, Part 1 Due: Friday February 28, at the beginning of class

CS201 - Assignment 3, Part 1 Due: Friday February 28, at the beginning of class CS201 - Assignment 3, Part 1 Due: Friday February 28, at the beginning of class One of the keys to writing good code is testing your code. This assignment is going to introduce you and get you setup to

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

Using IDLE for

Using IDLE for Using IDLE for 15-110 Step 1: Installing Python Download and install Python using the Resources page of the 15-110 website. Be sure to install version 3.3.2 and the correct version depending on whether

More information

CS2304: Python for Java Programmers. CS2304: Advanced Function Topics

CS2304: Python for Java Programmers. CS2304: Advanced Function Topics CS2304: Advanced Function Topics Functions With An Arbitrary Number of Parameters Let s say you wanted to create a function where you don t know the exact number of parameters. Python gives you a few ways

More information

Unit3: Java in the large. Prepared by: Dr. Abdallah Mohamed, AOU-KW

Unit3: Java in the large. Prepared by: Dr. Abdallah Mohamed, AOU-KW Prepared by: Dr. Abdallah Mohamed, AOU-KW 1 1. Introduction 2. Objects and classes 3. Information hiding 4. Constructors 5. Some examples of Java classes 6. Inheritance revisited 7. The class hierarchy

More information

CSE : Python Programming. Decorators. Announcements. The decorator pattern. The decorator pattern. The decorator pattern

CSE : Python Programming. Decorators. Announcements. The decorator pattern. The decorator pattern. The decorator pattern CSE 399-004: Python Programming Lecture 12: Decorators April 9, 200 http://www.seas.upenn.edu/~cse39904/ Announcements Projects (code and documentation) are due: April 20, 200 at pm There will be informal

More information

THE IF STATEMENT. The if statement is used to check a condition: if the condition is true, we run a block

THE IF STATEMENT. The if statement is used to check a condition: if the condition is true, we run a block THE IF STATEMENT The if statement is used to check a condition: if the condition is true, we run a block of statements (called the if-block), elsewe process another block of statements (called the else-block).

More information

Python 1: Intro! Max Dougherty Andrew Schmitt

Python 1: Intro! Max Dougherty Andrew Schmitt Python 1: Intro! Max Dougherty Andrew Schmitt Computational Thinking Two factors of programming: The conceptual solution to a problem. Solution syntax in a programming language BJC tries to isolate and

More information

Programs as Models. Procedural Paradigm. Class Methods. CS256 Computer Science I Kevin Sahr, PhD. Lecture 11: Objects

Programs as Models. Procedural Paradigm. Class Methods. CS256 Computer Science I Kevin Sahr, PhD. Lecture 11: Objects CS256 Computer Science I Kevin Sahr, PhD Lecture 11: Objects 1 Programs as Models remember: we write programs to solve realworld problems programs act as models of the real-world problem to be solved one

More information

Classes and Objects. Object Oriented Programming. Genome 559: Introduction to Statistical and Computational Genomics Elhanan Borenstein

Classes and Objects. Object Oriented Programming. Genome 559: Introduction to Statistical and Computational Genomics Elhanan Borenstein Classes and Objects Object Oriented Programming Genome 559: Introduction to Statistical and Computational Genomics Elhanan Borenstein A quick review Returning multiple values from a function return [sum,

More information

Languages. Solve problems using a computer, give the computer instructions. Remember our diaper-changing exercise?

Languages. Solve problems using a computer, give the computer instructions. Remember our diaper-changing exercise? Languages Solve problems using a computer, give the computer instructions. Remember our diaper-changing exercise? Talk the talk Speak its language High-level: Python, C++, Java Low-level: machine language,

More information

DSC 201: Data Analysis & Visualization

DSC 201: Data Analysis & Visualization DSC 201: Data Analysis & Visualization Classes Dr. David Koop Tuple, List, Dictionary, or Set? [1,2,"abc"] 2 Tuple, List, Dictionary, or Set? {"a", 1, 2} 3 Tuple, List, Dictionary, or Set? {} 4 Tuple,

More information

Lecture 02, Fall 2018 Friday September 7

Lecture 02, Fall 2018 Friday September 7 Anatomy of a class Oliver W. Layton CS231: Data Structures and Algorithms Lecture 02, Fall 2018 Friday September 7 Follow-up Python is also cross-platform. What s the advantage of Java? It s true: Python

More information

Class API. Class API. Constructors. CS200: Computer Science I. Module 19 More Objects

Class API. Class API. Constructors. CS200: Computer Science I. Module 19 More Objects CS200: Computer Science I Module 19 More Objects Kevin Sahr, PhD Department of Computer Science Southern Oregon University 1 Class API a class API can contain three different types of methods: 1. constructors

More information

CS 177 Recitation. Week 1 Intro to Java

CS 177 Recitation. Week 1 Intro to Java CS 177 Recitation Week 1 Intro to Java Questions? Computers Computers can do really complex stuff. How? By manipulating data according to lists of instructions. Fundamentally, this is all that a computer

More information

Classes and Objects 1 / 13

Classes and Objects 1 / 13 Classes and Objects 1 / 13 Python is Object-Oriented Every value in Python is an object, meaning an instance of a class. Even values that are considered "primitive" in some other languages. >>> type(1)

More information

CSE : Python Programming. Packages (Tutorial, Section 6.4) Announcements. Today. Packages: Concretely. Packages: Overview

CSE : Python Programming. Packages (Tutorial, Section 6.4) Announcements. Today. Packages: Concretely. Packages: Overview Announcements CSE 399-004: Python Programming Lecture 07: Packages, Command-line arguments, and Unit testing February 26, 2007 http://www.seas.upenn.edu/~cse39904/ No homework this week There may be one

More information

Lecture 17: Classes (Chapter 15)

Lecture 17: Classes (Chapter 15) http://www.cs.cornell.edu/courses/cs1110/2018sp 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 information

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Programming in C++ Prof. Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture - 31 Static Members Welcome to Module 16 of Programming in C++.

More information

Object-Oriented Programming

Object-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 information

Object Model Comparisons

Object Model Comparisons Object Model Comparisons 1 Languages are designed, just like programs Someone decides what the language is for Someone decides what features it's going to have Can't really understand a language until

More information

Computational Concepts Toolbox. Object Oriented Programming. Today: class. Review: Objects

Computational 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 information

Java Bytecode (binary file)

Java Bytecode (binary file) Java is Compiled Unlike Python, which is an interpreted langauge, Java code is compiled. In Java, a compiler reads in a Java source file (the code that we write), and it translates that code into bytecode.

More information

How Do Robots Find Their Way?

How Do Robots Find Their Way? How Do Robots Find Their Way? Conditionals and Repetition http://en.wikipedia.org/wiki/file:cyclope_robot.jpg http://www.youtube.com/watch?v=_l9rklaskwu Learning Objectives Learn basic programming concepts

More information

Dynamic Memory Allocation (and Multi-Dimensional Arrays)

Dynamic Memory Allocation (and Multi-Dimensional Arrays) Dynamic Memory Allocation (and Multi-Dimensional Arrays) Professor Hugh C. Lauer CS-2303, System Programming Concepts (Slides include materials from The C Programming Language, 2 nd edition, by Kernighan

More information

CS 1110 Final, December 17th, Question Points Score Total: 100

CS 1110 Final, December 17th, Question Points Score Total: 100 CS 1110 Final, December 17th, 2014 This 150-minute exam has 8 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

EECS 1001 and EECS 1030M, lab 01 conflict

EECS 1001 and EECS 1030M, lab 01 conflict EECS 1001 and EECS 1030M, lab 01 conflict Those students who are taking EECS 1001 and who are enrolled in lab 01 of EECS 1030M should switch to lab 02. If you need my help with switching lab sections,

More information

CS 61A Discussion 8: Scheme. March 23, 2017

CS 61A Discussion 8: Scheme. March 23, 2017 CS 61A Discussion 8: Scheme March 23, 2017 Announcements Ants is due today. Finish it! Also turn it in! HW 6 is due tomorrow. Finish it! Also turn it in! HW party today from 6:30-8:30p in 247 Cory. Midterm

More information

CS Prof J.P.Morrison

CS Prof J.P.Morrison CS1061 2018-2019 Prof J.P.Morrison C Programming C is the most popular language worldwide. Everything from microcontrollers to operating systems is written in C flexible and versatile, allowing maximum

More information

age = 23 age = age + 1 data types Integers Floating-point numbers Strings Booleans loosely typed age = In my 20s

age = 23 age = age + 1 data types Integers Floating-point numbers Strings Booleans loosely typed age = In my 20s Intro to Python Python Getting increasingly more common Designed to have intuitive and lightweight syntax In this class, we will be using Python 3.x Python 2.x is still very popular, and the differences

More information

Functions Structure and Parameters behind the scenes with diagrams!

Functions Structure and Parameters behind the scenes with diagrams! Functions Structure and Parameters behind the scenes with diagrams! Congratulations! You're now in week 2, diving deeper into programming and its essential components. In this case, we will talk about

More information

CS Introduction to Programming Fall 2016

CS Introduction to Programming Fall 2016 CS 1113-300 Introduction to Programming Fall 2016 Exam 3 Review - Part 2 (Python) Friday, December 2 nd, 2016 Ahmed Ibrahim 1 / 26 Course Evaluation Please take a few minutes to submit your course evaluation

More information

Object Fundamentals, Part One. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 2 08/27/2009

Object Fundamentals, Part One. Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 2 08/27/2009 Object Fundamentals, Part One Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/5448 Lecture 2 08/27/2009 1 Lecture Goals Introduce basic concepts, terminology, and notations for object-oriented

More information

Exception Handling in C++

Exception Handling in C++ Exception Handling in C++ Professor Hugh C. Lauer CS-2303, System Programming Concepts (Slides include materials from The C Programming Language, 2 nd edition, by Kernighan and Ritchie, Absolute C++, by

More information

CS177 Recitation. Functions, Booleans, Decision Structures, and Loop Structures

CS177 Recitation. Functions, Booleans, Decision Structures, and Loop Structures CS177 Recitation Functions, Booleans, Decision Structures, and Loop Structures Functions Collection of instructions that perform a task as: o Printing your name and course. o Calculating the average of

More information

Chapter 4. Defining Classes I

Chapter 4. Defining Classes I Chapter 4 Defining Classes I Introduction Classes are the most important language feature that make object-oriented programming (OOP) possible Programming in Java consists of defining a number of classes

More information

Data 8 Final Review #1

Data 8 Final Review #1 Data 8 Final Review #1 Topics we ll cover: Visualizations Arrays and Table Manipulations Programming constructs (functions, for loops, conditional statements) Chance, Simulation, Sampling and Distributions

More information

Outline. Announcements. Homework 2. Boolean expressions 10/12/2007. Announcements Homework 2 questions. Boolean expression

Outline. Announcements. Homework 2. Boolean expressions 10/12/2007. Announcements Homework 2 questions. Boolean expression Outline ECS 10 10/8 Announcements Homework 2 questions Boolean expressions If/else statements State variables and avoiding sys.exit( ) Example: Coin flipping (if time permits) Announcements Professor Amenta

More information

Introduction to Computer Programming for Non-Majors

Introduction to Computer Programming for Non-Majors Introduction to Computer Programming for Non-Majors CSC 2301, Fall 2015 Chapter 10 The Department of Computer Science Objectives Chapter 10 Part 1 To know how defining new classes can provide structure

More information

CS61A Notes Week 13: Interpreters

CS61A Notes Week 13: Interpreters CS61A Notes Week 13: Interpreters Read-Eval Loop Unlike Python, the result of evaluating an expression is not automatically printed. Instead, Logo complains if the value of any top-level expression is

More information

Summer 2017 Discussion 10: July 25, Introduction. 2 Primitives and Define

Summer 2017 Discussion 10: July 25, Introduction. 2 Primitives and Define CS 6A Scheme Summer 207 Discussion 0: July 25, 207 Introduction In the next part of the course, we will be working with the Scheme programming language. In addition to learning how to write Scheme programs,

More information

Invent Your Own Computer Games with Python

Invent Your Own Computer Games with Python Dragon Realm Invent Your Own Computer Games with Python Heejin Park College of Information and Communications Hanyang University Introduction Dragon Realm Sample Run Source Code Code Explanation def statements

More information

STATS 507 Data Analysis in Python. Lecture 2: Functions, Conditionals, Recursion and Iteration

STATS 507 Data Analysis in Python. Lecture 2: Functions, Conditionals, Recursion and Iteration STATS 507 Data Analysis in Python Lecture 2: Functions, Conditionals, Recursion and Iteration Functions in Python We ve already seen examples of functions: e.g., type()and print() Function calls take the

More information

Python Programming: An Introduction To Computer Science

Python Programming: An Introduction To Computer Science Python Programming: An Introduction To Computer Science Chapter 10 Defining Classes Python Programming, 2/e 1 Objectives æ To appreciate how defining new classes can provide structure for a complex program.

More information

PREPARING FOR PRELIM 2

PREPARING FOR PRELIM 2 PREPARING FOR PRELIM 2 CS 1110: FALL 2012 This handout explains what you have to know for the second prelim. There will be a review session with detailed examples to help you study. To prepare for the

More information

A Deeper Look at Classes

A Deeper Look at Classes A Deeper Look at Classes Professor Hugh C. Lauer CS-2303, System Programming Concepts (Slides include materials from The C Programming Language, 2 nd edition, by Kernighan and Ritchie, Absolute C++, by

More information

CS 251 Intermediate Programming Methods and Classes

CS 251 Intermediate Programming Methods and Classes CS 251 Intermediate Programming Methods and Classes Brooke Chenoweth University of New Mexico Fall 2018 Methods An operation that can be performed on an object Has return type and parameters Method with

More information

CS 251 Intermediate Programming Methods and More

CS 251 Intermediate Programming Methods and More CS 251 Intermediate Programming Methods and More Brooke Chenoweth University of New Mexico Spring 2018 Methods An operation that can be performed on an object Has return type and parameters Method with

More information

Comp 248 Introduction to Programming Chapter 4 - Defining Classes Part A

Comp 248 Introduction to Programming Chapter 4 - Defining Classes Part A Comp 248 Introduction to Programming Chapter 4 - Defining Classes Part A Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia University, Montreal, Canada These slides has been

More information

CSC 222: Object-Oriented Programming. Fall 2017

CSC 222: Object-Oriented Programming. Fall 2017 CSC 222: Object-Oriented Programming Fall 2017 Understanding class definitions class structure fields, constructors, methods parameters shorthand assignments local variables final-static fields, static

More information

Lecture 3. Lecture

Lecture 3. Lecture True Object-Oriented programming: Dynamic Objects Static Object-Oriented Programming Reference Variables Eckel: 30-31, 41-46, 107-111, 114-115 Riley: 5.1, 5.2 D0010E Object-Oriented Programming and Design

More information

SCHEME 8. 1 Introduction. 2 Primitives COMPUTER SCIENCE 61A. March 23, 2017

SCHEME 8. 1 Introduction. 2 Primitives COMPUTER SCIENCE 61A. March 23, 2017 SCHEME 8 COMPUTER SCIENCE 61A March 2, 2017 1 Introduction In the next part of the course, we will be working with the Scheme programming language. In addition to learning how to write Scheme programs,

More information

CS 190C: Introduction to Computational Thinking

CS 190C: Introduction to Computational Thinking CS 190C: Introduction to Computational Thinking http://secant.cs.purdue.edu/cs190c:start Python Programming: An Introduction to Computer Science Zelle s book is a gentle introductory computing text used

More information

Announcements. Homework 1 due Monday 10/12 (today) Homework 2 released next Monday 10/19 is due 11/2

Announcements. Homework 1 due Monday 10/12 (today) Homework 2 released next Monday 10/19 is due 11/2 61A Extra Lecture 6 Announcements Homework 1 due Monday 10/12 (today) Homework 2 released next Monday 10/19 is due 11/2 Homework 3 is to complete an extension to Project 4 Due at the same time as Project

More information

Python Unit

Python Unit Python Unit 1 1.1 1.3 1.1: OPERATORS, EXPRESSIONS, AND VARIABLES 1.2: STRINGS, FUNCTIONS, CASE SENSITIVITY, ETC. 1.3: OUR FIRST TEXT- BASED GAME Python Section 1 Text Book for Python Module Invent Your

More information

Containers and the Standard Template Library (STL)

Containers and the Standard Template Library (STL) Containers and the Standard Template Library (STL) Professor Hugh C. Lauer CS-2303, System Programming Concepts (Slides include materials from The C Programming Language, 2 nd edition, by Kernighan and

More information

mith College Computer Science Week 9 CSC111 - Fall 2018 Dominique Thiébaut

mith College Computer Science Week 9 CSC111 - Fall 2018 Dominique Thiébaut mith College Computer Science Week 9 CSC111 - Fall 2018 Dominique Thiébaut dthiebaut@smith.edu Dealing with Exceptions (Chapter 7.4) Defining Classes (Chapter 10) # getinput: returns an integer larger

More information

Introduction to Java. Handout-1d. cs402 - Spring

Introduction to Java. Handout-1d. cs402 - Spring Introduction to Java Handout-1d cs402 - Spring 2003 1 Methods (i) Method is the OOP name for function Must be declared always within a class optaccessqualifier returntype methodname ( optargumentlist )

More information

Lecture 7. Log into Linux New documents posted to course webpage

Lecture 7. Log into Linux New documents posted to course webpage Lecture 7 Log into Linux New documents posted to course webpage Coding style guideline; part of project grade is following this Homework 4, due on Monday; this is a written assignment Project 1, due next

More information

Last Name: First: Netid: Section. CS 1110 Final, December 17th, 2014

Last Name: First: Netid: Section. CS 1110 Final, December 17th, 2014 CS 0 Final, December 7th, 204 SOLUTION This 50-minute exam has 8 questions worth a total of 00 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

CS Lecture 18: Card Tricks. Announcements. Slides by D. Gries, L. Lee, S. Marschner, W. White

CS Lecture 18: Card Tricks. Announcements. Slides by D. Gries, L. Lee, S. Marschner, W. White CS 1110 Lecture 18: Card Tricks Announcements Slides by D. Gries, L. Lee, S. Marschner, W. White Quick poker primer Basic (straight) version: 5 random cards in your hand 2 of same rank: pair (e.g., 3C

More information

CS 115 Lecture 21. Classes, data structures, and C++ Neil Moore

CS 115 Lecture 21. Classes, data structures, and C++ Neil Moore CS 115 Lecture 21 Classes, data structures, and C++ Neil Moore Department of Computer Science University of Kentucky Lexington, Kentucky 40506 neil@cs.uky.edu 3 December 2015 Files versus lists Differences

More information

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 3: SEP. 13TH INSTRUCTOR: JIAYIN WANG 1 Notice Reading Assignment Chapter 1: Introduction to Java Programming Homework 1 It is due this coming Sunday

More information

Sorting, Functions as Arguments. Genome 559: Introduction to Statistical and Computational Genomics Elhanan Borenstein

Sorting, Functions as Arguments. Genome 559: Introduction to Statistical and Computational Genomics Elhanan Borenstein Sorting, Functions as Arguments Genome 559: Introduction to Statistical and Computational Genomics Elhanan Borenstein Functions: A quick review Reusable pieces of code (write once, use many) Take arguments,

More information

Object Oriented Programming

Object 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 information

The Pyth Language. Administrivia

The Pyth Language. Administrivia Administrivia The Pyth Language Lecture 5 Please make sure you have registered your team, created SSH keys as indicated on the admin page, and also have electronically registered with us as well. Prof.

More information

CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I

CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I CSC 015: FUNDAMENTALS OF COMPUTER SCIENCE I Lecture 1: Class Introduction DR. BO TANG ASSISTANT PROFESSOR HOFSTRA UNIVERSITY 1 9/7/16 CSC15 - Python OUTLINE What is Computer Science? What is this Class

More information

Python review. 1 Python basics. References. CS 234 Naomi Nishimura

Python review. 1 Python basics. References. CS 234 Naomi Nishimura Python review CS 234 Naomi Nishimura The sections below indicate Python material, the degree to which it will be used in the course, and various resources you can use to review the material. You are not

More information