Recursive Data Types, null, and Linked Lists
|
|
- Rosa Payne
- 6 years ago
- Views:
Transcription
1 Recursive Data Types,, and Linked Lists Lecture 16 "hello" "world"
2 Data Buddies Survey Undergraduate Survey Graduate Survey What is it? Anonymous survey provided by CRA open now through Oct. 31st Why is it important? Your feedback gives department realtime on curriculum, pedagogy, student support and cultural climate from student POV What s in it for you? Completion of survey means raffle entry and chance to win Amazon gift card (dept to raffle more than $1K in gift cards) ***Check your for more details***
3 Announcements Women and Minorities in CS Info Session & Discussion Monday 10/23 at 5pm in SN011 PS3 Due Tonight Wednesday (tomorrow) Office Hours Close at 5pm for Fall Break No review session
4 Warm-up on References
5 Compound Data Type Properties So far we've focused on classes with value-type properties, such as: string number boolean Properties can also be reference types, like: arrays objects class Person { name: string; pets: Dog[]; class Dog { name: string; breed: string;
6 Recursive Data Types Properties can refer to other objects of the same type Notice the class left. It has a property named and its value must be... another. class { : string; : ; This allows us to form a Linked List or a "chain" of objects. "hello" "world"
7 Linked List A classic, simple structure in Computer Science Formed by chaining together a sequence of objects The first node is referred to as the head We will work with it today for pedagogical purposes in exploring What is? More advanced uses of references Recursive types "hello" "world"
8 Where does a Linked List end? In the class to the right, if a refers to a, and the refers to another, how does it end? In a linked list, the very last 's value will refer to which means nothing or "there is no " class { : string; : ; To permit the to be a value, TypeScript requires us to give it a special type ( slide) "world"
9 Possibly References (1/3) Because the property may refer to another OR, the type of is specified as: Notice this looks like the boolean OR operator but is only a single vertical bar. class { : string; : ; Now our linked list's last can be assigned a reference.
10 Possibly References (2/3) TypeScript helps us avoid errors when we declare the property's type to be Notice in the example left, we are prevented from accessing the property of the because the node is possibly. Other languages (like Java) do not provide this protection which gives way to " pointer" errors.
11 Handling possibly References (3/3) Whenever you access a reference whose type is "<class> ", you must test to ensure the value is not in order to access it. let a: = new (); if (a.!== ) { print(a..); The above code compiles because TypeScript is smart enough to know that inside of this if-then statement a. cannot be.
12 Follow-Along: Constructing a Linked List let a: = new (); a. = "Linked"; a. = ; let b: = new (); b. = "Lists"; b. = a; let c: = new (); c. = "!!!"; c. = b; c b a if (c.!== && c..!== ) { print(c.); print(c..); print(c...); "!!!" "Lists" "Linked"
13 Forming a Human Linked List Live demo with UTAs as s The first will be the "tail" and its is Subsequent s will place one hand on the 's shoulder What is your length? Jane John Sally
14 Finding the length of a Human Linked List What is your length? Jane John Sally
15 Finding the length of a Human Linked List What is your length? What is your length? Jane John Sally
16 Finding the length of a Human Linked List What is your length? What is your length? What is your length? Jane John Sally
17 Finding the length of a Human Linked List What is your length? What is your length? 1 Jane John Sally
18 Finding the length of a Human Linked List What is your length? 2 Jane John Sally
19 Finding the length of a Human Linked List 3 Jane John Sally
20 Hands-on: Implement the Length Function 1. Open lec16's list-functions.ts and 01-list-playground-app.ts 2. If the node's property is a reference, return 1 3. Otherwise, return 1 + the result of calling length with the node 4. Check-in when your length function is properly implemented 5. Done? Try adding an additional to the list in the playground's makelist function
21 export function length(head: ): number { if (head. === ) { return 1; else { return 1 + length(head.);
22 Finding the length imperatively with a loop How might we address this without recursion? We can walk the list -by- until the node is and count up by 1 each time. function lengthloop(node: ): number { let count: number = 1; let current: = node; while (current.!== ) { current = current.; count++; return count; This is an example of when a single reference-type variable is reassigned to many different objects
23 Finding the length imperatively count 1 node function lengthloop(node: ): number { let count: number = 1; let current: = node; while (current.!== ) { current = current.; count++; return count; Jane John Sally We enter the function with node referring to the first node in our list. The count variable is initialized to 1.
24 Finding the length imperatively count 1 node current function lengthloop(node: ): number { let count: number = 1; let current: = node; while (current.!== ) { current = current.; count++; return count; Jane John Sally The current variable is setup and assigned a reference to the same object as the node parameter refers to.
25 Finding the length imperatively count 1 node current function lengthloop(node: ): number { let count: number = 1; let current: = node; while (current.!== ) { current = current.; count++; return count; Jane John Sally The current node's reference is not, so we'll enter the while loop.
26 Finding the length imperatively count 1 node current function lengthloop(node: ): number { let count: number = 1; let current: = node; while (current.!== ) { current = current.; count++; return count; Jane John Sally The current variable is reassigned to be its (the 2 nd node in this case).
27 Finding the length imperatively count 2 node current function lengthloop(node: ): number { let count: number = 1; let current: = node; while (current.!== ) { current = current.; count++; return count; Jane John Sally The count variable is incremented because we have walked to another node.
28 Finding the length imperatively count 2 node current function lengthloop(node: ): number { let count: number = 1; let current: = node; while (current.!== ) { current = current.; count++; return count; Jane John Sally The while condition is tested again. Is the current 's property? No, so we enter the loop.
29 Finding the length imperatively count 2 node current function lengthloop(node: ): number { let count: number = 1; let current: = node; while (current.!== ) { current = current.; count++; return count; Jane John Sally Current is reassigned to be a reference to its.
30 Finding the length imperatively count 3 node current function lengthloop(node: ): number { let count: number = 1; let current: = node; while (current.!== ) { current = current.; count++; return count; Jane John Sally The count variable is incremented by 1.
31 Finding the length imperatively count 3 node current function lengthloop(node: ): number { let count: number = 1; let current: = node; while (current.!== ) { current = current.; count++; return count; Jane John Sally We test again. Is the current 's property? Yes, so we do not loop again.
32 Finding the length imperatively count 3 node current function lengthloop(node: ): number { let count: number = 1; let current: = node; while (current.!== ) { current = current.; count++; return count; Jane John Sally Finally, count is returned to the caller of lengthloop.
33 Generating a string Representation of the List Let's write a function with the following requirements. When we call with a tail node (its property is ), it should return the node's concatenated with "-> ". For example: tostring( Sally ) returns "Sally -> " When we call with a non-tail node, it should ultimately return a string with every node's separated by -> arrows and end with. tostring( John Sally ) returns "John -> Sally -> "
34 Hands-on: Generating a string Representation 1. In 01-list-playground's main, try: print(tostring(list)); 2. In the tostring function of list-functions.ts 3. If the node's property is, use concatenation to return: "<node's value> -> " 4. Otherwise, use concatenation and recursion to return: "<node's value> -> <tostring of the node>" 5. Check-in on PollEverywhere when complete
35 export function tostring(node: ): string { if (node. === ) { return node. + " -> "; else { return node. + " -> " + tostring(node.);
36 Accessing the nth Index With an array we can return the 0-indexed nth element using: a[0], a[1], and so on Let's implement a get function with the same semantics and the following signature: get(node:, i: number): string For example: get(list, 0) returns "Jane" get(list, 2) returns "Sally" get(list, 40) returns Jane John Sally
37 Accessing the nth Index: There are 2 base cases 1. Is i === 0? 1. Yes: we've found the i th! 2. No, i > 0? Is the node? 1. Yes: there is no i th! No, the node is not. So let's try calling get again on the node and subtract 1 from i.
38 Follow-along: Implementing the get function export function get(node:, i: number): string { if (i === 0) { return node.; else if (node. === ) { return ; else { return get(node., i - 1);
39 Challenge Functions Copying a List Appending to a List Reversing a List Want a challenge? Try implementing the remaining functions in list-functions.ts
40 Challenge function solutions
41 copy export function copy(node: ): { if (node. === ) { return node; else { return link(node., copy(node.));
42 append export function append(: string, node: ): void { if (node. === ) { let tail: = new (); tail. = ; node. = tail; else { append(, node.);
43 reverse export function reverse(node: ): { if (node. === ) { return node; else { let reversed: = reverse(node.); node.. = node; node. = ; return reversed;
Object-Oriented Programming. Lecture 17
Object-Oriented Programming Lecture 17 Data Buddies Survey Undergraduate Survey http://bit.ly/csundergraduate Graduate Survey http://bit.ly/csgraduate What is it? Anonymous survey provided by CRA open
More informationFUNctions. Lecture 03 Spring 2018
FUNctions Lecture 03 Spring 2018 Announcements PS0 Due Tomorrow at 11:59pm WS1 Released soon, due next Friday 2/2 at 11:59pm Not quite understand a topic in lecture this week? Come to Tutoring Tomorrow
More informationArrays and while Loops. Lecture 15 - COMP110 - Spring 2018
Arrays and while Loops Lecture 15 - COMP110 - Spring 2018 Announcements PS04 - March Sadness - Due Sunday 3/25 at 11:59pm Review Session - Tomorrow at 5pm in SN014 Tutoring Friday from 12pm - 4pm in SN115
More informationboolean & if-then-else
boolean & if-then-else Lecture 03 Step 1: Open VSCode and its Integrated Terminal Step 2: npm run pull Step 3: npm run start Step 4: Open another tab to pollev.com/comp110 Assignments Out Problem Set 0
More informationFixing the "Black Screen of Death"
Arrays Lecture 6 Fixing the "Black Screen of Death" When you see a screen that looks like the black screen to the right: The error may be in a file other than the one you are working on. The file with
More informationClasses, Types, and Objects
Classes, Types, and Objects Lecture 6 npm run pull npm run start pollev.com/comp110 Announcements PS1 Due Friday Full EC deadline is TODAY 11:59pm Partial EC on Thurs Due Friday at 11:59pm Review Session
More informationIntroduction to Lists and Recursion
Introduction to Lists and Recursion Lecture 05 - Spring 2018 - COMP110 Navigate to localhost:3000/close - Then: npm run pull, npm start "All about that base (case)" ~Meghan Trainor All About That Bass
More informationMouse / Keyboard Events & Anonymous Functions. Lecture 19
Mouse / Keyboard Events & Anonymous Functions Lecture 19 Announcements Hack110 - Friday, November 17th starting at 7pm ending at 7am! Encouraged if you're loving programming, doing well in 110, and considering
More informationData Classes & Objects and CSV Processing. Lecture 8 - Spring COMP110
Data Classes & Objects and CSV Processing Lecture 8 - Spring 2018 - COMP110 Announcements WS02 Due Friday at 11:59pm Review Session Tomorrow (Wednesday) at 5pm in SN014 Uncertain with topics from the last
More informationPractice with if-then-else. COMP101 Lecture 7 Spring 2018
Practice with if-then-else COMP101 Lecture 7 Spring 2018 Announcements PS01 - Due Friday at 11:59pm 3 parts, each in increasing difficulty. You will submit individually for each. Tutoring - Tomorrow from
More informationSorting, Searching and Array's Built-in Methods. Lecture 16 COMP110 Spring 2018
Sorting, Searching and Array's Built-in Methods Lecture 16 COMP110 Spring 2018 Warm-up 1: What are the elements of a? let a: number[] = [ 2 ]; // Notice initial element 2 let i: number = 0; while (i
More informationData Types and the main Function
COMP101 - UNC Data Types and the main Function Lecture 03 Announcements PS0 Card for Someone Special Released TODAY, due next Wednesday 9/5 Office Hours If your software has issues today, come to office
More informationVSCode: Open Project -> View Terminal -> npm run pull -> npm start. while Loops. Lecture 09. Don t Stop Til You Get Enough
VSCode: Open Project -> View Terminal -> npm run pull -> npm start while Loops Lecture 09 Don t Stop Til You Get Enough Announcements New PS posted! Split into two parts Due Sunday at midnight Quiz this
More informationChapter 4 Defining Classes I
Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the
More informationOutline. 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 informationObject-Oriented Programming
Object-Oriented Programming Methods and Constructors Lecture 18 - Fall 2018 BEFORE npm run pull -- RUN: npm i --save introcs Announcements Build Your Own Bracket PS5 Due Weds 11/28 at 11:59pm Apply to
More informationCS61B Lecture #2. Public Service Announcements:
CS61B Lecture #2 Please make sure you have obtained an account, run register, and finished the survey today. In the future (next week), the password required for surveys and such will be your account password
More information(1) Students will be able to explain basic architecture and components of digital computers and networks, and basic programming language features.
Content/Discipline Java Manhattan Center for Science and Math High School Mathematics Department Curriculum Marking Period 1 Topic and Essential Question JSS (1) What are computers? (2) What is hardware
More informationVSCode: Open Project -> View Terminal -> npm run pull -> npm start. Lecture 16
VSCode: Open Project -> View Terminal -> npm run pull -> npm start for Loops Lecture 16 Don t Stop Believin I would feel excited and hype because this song is a classic 101 student Announcements Quiz 2
More informationMobile App:IT. Methods & Classes
Mobile App:IT Methods & Classes WHAT IS A METHOD? - A method is a set of code which is referred to by name and can be called (invoked) at any point in a program simply by utilizing the method's name. -
More informationboolean Expressions Relational and Equality Operators and if-then-else Conditional Control Statement
boolean Expressions Relational and Equality Operators and if-then-else Conditional Control Statement Go to poll.unc.edu Sign-in via this website then go to pollev.com/compunc VSCode: Open Project -> View
More informationCS61C Machine Structures. Lecture 3 Introduction to the C Programming Language. 1/23/2006 John Wawrzynek. www-inst.eecs.berkeley.
CS61C Machine Structures Lecture 3 Introduction to the C Programming Language 1/23/2006 John Wawrzynek (www.cs.berkeley.edu/~johnw) www-inst.eecs.berkeley.edu/~cs61c/ CS 61C L03 Introduction to C (1) Administrivia
More informationnpm run pull npm start
1. Open Visual Studio Code 2. At the top click on View->Integrated Terminal (if not already open) 3. In the terminal, first run: npm run pull 4. After this finishes run: npm start For Loops Lecture 14
More informationFunction Literals and Type Inference. Lecture 14 Spring 2018 COMP110
Function Literals and Type Inference Lecture 14 Spring 2018 COMP110 0. What is the printed output when main runs? export let main = async () => { let xs = listify("great","day","to","be","a","tar!","heel!","daggum");
More informationlogical operators and else-if statements
logical operators and else-if statements Lecture 5 Step 0: TODAY open http://localhost:3000/close -- if this errors that's OK / expected Step 1: Open VSCode and its Integrated Terminal Step 2: npm run
More informationAn Brief Introduction to a web browser's Document Object Model (DOM) Lecture 24
An Brief Introduction to a web browser's Document Object Model (DOM) Lecture 24 Midterm 1 Scores Review Sessions Go Over Midterm 1 Didn't feel like the midterm went well? Had questions? Come review the
More information2D Array Practice. Lecture 26
2D Array Practice Lecture 26 Announcements Worksheet 6 and Problem Set 6 Posted to COMP110.com Final Deliverables of the Semester! PS6 - Compstagram Demo Regular Review Session Schedule General - Wednesday
More informationnpm run pull npm start
1. Open Visual Studio Code 2. At the top click on View->Integrated Terminal (if not already open) 3. In the terminal, first run: npm run pull 4. After this finishes run: npm start Loops Lecture 09 Don
More informationNews and information! Review: Java Programs! Feedback after Lecture 2! Dead-lines for the first two lab assignment have been posted.!
True object-oriented programming: Dynamic Objects Reference Variables D0010E Object-Oriented Programming and Design Lecture 3 Static Object-Oriented Programming UML" knows-about Eckel: 30-31, 41-46, 107-111,
More informationFunctions as Parameters & Functional Interfaces. Lecture 12 COMP110 Spring 2018
Functions as Parameters & Functional Interfaces Lecture 12 COMP110 Spring 2018 Announcements Next problem set will post soon and be due before Spring Break. More practice with recursive functions. Next
More informationCS61B Lecture #6: Arrays
CS61B Lecture #6: Arrays Readings for Monday : Chapters 2, 4 of Head First Java (5 also useful, but its really review). Upcoming readings : Chapters 7, 8 of Head First Java. Public Service Announcement.
More informationSorting and Searching. Lecture 14
Sorting and Searching Lecture 14 Announcements WS4 - Due Today PS3 - Due next Tuesday. This one increases in difficulty as you move through it. Start now! Warm-up #1: What are the elements of array numbers
More informationCSC 111 Introduction to Computer Science (Section C)
CSC 111 Introduction to Computer Science (Section C) Course Description: (4h) Lecture and laboratory. Rigorous introduction to the process of algorithmic problem solving and programming in a modern programming
More informationCprE 288 Introduction to Embedded Systems Exam 1 Review. 1
CprE 288 Introduction to Embedded Systems Exam 1 Review http://class.ece.iastate.edu/cpre288 1 Overview of Today s Lecture Announcements Exam 1 Review http://class.ece.iastate.edu/cpre288 2 Announcements
More information06 - Building Lists Recursively. Spring 2018 COMP110
06 - Building Lists Recursively Spring 2018 COMP110 Announcements Review Session: Tomorrow Night at 5pm in SN014 Tutoring: Friday from 12-4pm in SN115 PS01 On Point Functions Due Sunday at 11:59pm Midterm
More informationCompSci 101 Introduction to Computer Science
CompSci 101 Introduction to Computer Science April 21, 2016 Prof. Rodger ACM Meeting Duke ACM is the student chapter of the professional organization for Computer Scientists Election and matching up with
More informationReview! * follows a pointer to its value! & gets the address of a variable! Pearce, Summer 2010 UCB! ! int x = 1000; Pearce, Summer 2010 UCB!
CS61C L03 Introduction to C (pt 2) (1)! inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 3 Introduction to C (pt 2) 2010-06-23!!!Instructor Paul Pearce! The typical! development cycle!
More informationCS171:Introduction to Computer Science II
CS171:Introduction to Computer Science II Department of Mathematics and Computer Science Li Xiong 9/7/2012 1 Announcement Introductory/Eclipse Lab, Friday, Sep 7, 2-3pm (today) Hw1 to be assigned Monday,
More informationCS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 3 Introduction to C (pt 2) 2010-06-23! C help session: Tonight 7:00-9:00pm @ 306 Soda!!!Instructor Paul Pearce! The typical! development
More informationlecture24: Disjoint Sets
lecture24: Largely based on slides by Cinda Heeren CS 225 UIUC 22nd July, 2013 Announcements mp6 due tonight mp7 out soon! mt3 tomorrow night (7/23) Optional review instead of lab tomorrow Code Challenge
More informationCSC207 Quiz 1 Solutions Monday 6 February 2017, 12:15 PM. 1. (A) (B) (C) (D) (E) 7. Nothing, does not run true false
CSC207 Quiz 1 Solutions Monday 6 February 2017, 12:15 PM Student Number: Circle the lecture section in which you are enrolled L0101 (WF12) L0201 (WF1) L5101 (W6) Please indicate your answers in the table
More informationG Programming Languages - Fall 2012
G22.2110-003 Programming Languages - Fall 2012 Lecture 4 Thomas Wies New York University Review Last week Control Structures Selection Loops Adding Invariants Outline Subprograms Calling Sequences Parameter
More informationCS 61B Data Structures and Programming Methodology. June David Sun
CS 61B Data Structures and Programming Methodology June 25 2008 David Sun Announcements Visit 387 Soda to arrange for after hours access to Soda Hall. Computer Science Undergraduate Association event:
More informationCS 4110 Programming Languages & Logics
CS 4110 Programming Languages & Logics Lecture 38 Typed Assembly Language 30 November 2012 Schedule 2 Monday Typed Assembly Language Wednesday Polymorphism Stack Types Today Compilation Course Review Certi
More informationOOP Subtyping. Lecture 20
OOP Subtyping Lecture 20 Announcements WS05 - Posted yesterday, due Wednesday 11/8 at 11:59pm Explores recursion and object-oriented programming fundamentals Warm-up: What is printed? interface Transform
More informationPull Lecture Materials and Open PollEv. Poll Everywhere: pollev.com/comp110. Lecture 12. else-if and while loops. Once in a while
Pull Lecture Materials and Open PollEv Poll Everywhere: pollev.com/comp110 Lecture 12 else-if and while loops Once in a while Fall 2016 if-then-else Statements General form of an if-then-else statement:
More informationObject Oriented Programming and Design in Java. Session 2 Instructor: Bert Huang
Object Oriented Programming and Design in Java Session 2 Instructor: Bert Huang Announcements TA: Yipeng Huang, yh2315, Mon 4-6 OH on MICE clarification Next Monday's class canceled for Distinguished Lecture:
More informationCS 4110 Programming Languages & Logics. Lecture 35 Typed Assembly Language
CS 4110 Programming Languages & Logics Lecture 35 Typed Assembly Language 1 December 2014 Announcements 2 Foster Office Hours today 4-5pm Optional Homework 10 out Final practice problems out this week
More informationClass Information ANNOUCEMENTS
Class Information ANNOUCEMENTS Third homework due TODAY at 11:59pm. Extension? First project has been posted, due Monday October 23, 11:59pm. Midterm exam: Friday, October 27, in class. Don t forget to
More informationFirst Haskell Exercises
First Haskell Exercises CS110 November 23, 2016 Although it is possible to install Haskell on your computer, we want to get started quickly, so we will be using an online Haskell programming system (also
More informationCS 106B, Lecture 1 Introduction to C++
CS 106B, Lecture 1 Introduction to C++ reading: Programming Abstractions in C++, Chapters 1 & 2 This document is copyright (C) Stanford Computer Science and Ashley Marty Stepp, Taylor, licensed under Creative
More informationLexical Considerations
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Fall 2005 Handout 6 Decaf Language Wednesday, September 7 The project for the course is to write a
More informationAnnouncements. Java Review. More Announcements. Today. Assembly Language. Machine Language
Announcements Java Review Java Bootcamp Another session tonight 7-9 in B7 Upson tutorial & solutions also available online Assignment 1 has been posted and is due Monday, July 2, 11:59pm Lecture 2 CS211
More informationCS 314 Principles of Programming Languages. Lecture 9
CS 314 Principles of Programming Languages Lecture 9 Zheng Zhang Department of Computer Science Rutgers University Wednesday 5 th October, 2016 Zheng Zhang 1 CS@Rutgers University Class Information Homework
More informationControl Statements. if for while
Control Structures Control Statements if for while Control Statements if for while This This is is called called the the initialization initialization statement statement and and is is performed performed
More informationComputer Science E-119 Fall Problem Set 3. Due before lecture on Wednesday, October 31
Due before lecture on Wednesday, October 31 Getting Started To get the files that you will need for this problem set, log into nice.harvard.edu and enter the following command: gethw 3 This will create
More informationTo figure this out we need a more precise understanding of how ML works
Announcements: What are the following numbers: 74/2/70/17 (2:30,2:30,3:35,7:30) PS2 due Thursday 9/20 11:59PM Guest lecture on Tuesday 9/25 o No RDZ office hours next Friday, I am on travel A brief comment
More informationLec 3. Compilers, Debugging, Hello World, and Variables
Lec 3 Compilers, Debugging, Hello World, and Variables Announcements First book reading due tonight at midnight Complete 80% of all activities to get 100% HW1 due Saturday at midnight Lab hours posted
More informationObject-Oriented Design Lecture 3 CSU 370 Fall 2007 (Pucella) Friday, Sep 14, 2007
Object-Oriented Design Lecture 3 CSU 370 Fall 2007 (Pucella) Friday, Sep 14, 2007 Java We will be programming in Java in this course. Partly because it is a reasonable language, and partly because you
More informationCompiler Construction (Compilerbau)
Compiler Construction (Compilerbau) Dr. Torsten Grust Dept. of Computer and Information Science University of Konstanz Winter 2003/03 c 2002/03 T.Grust Compiler Construction 0 Introduction to this Course
More informationAdministration. Classes. Objects Part II. Agenda. Review: Object References. Object Aliases. CS 99 Summer 2000 Michael Clarkson Lecture 7
Administration Classes CS 99 Summer 2000 Michael Clarkson Lecture 7 Lab 7 due tomorrow Question: Lab 6.equals( SquareRoot )? Lab 8 posted today Prelim 2 in six days! Covers two weeks of material: lectures
More informationLecture 7. Instructor: Craig Duckett OUTPUT
Lecture 7 Instructor: Craig Duckett OUTPUT Lecture 7 Announcements ASSIGNMENT 2 is due LECTURE 8 NEXT LECTURE uploaded to StudentTracker by midnight Assignment 2!!! Assignment Dates (By Due Date) Assignment
More informationnpm run pull npm start
1. Open Visual Studio Code 2. At the top click on View->Integrated Terminal (if not already open) 3. In the terminal, first run: npm run pull 4. After this finishes run: npm start Strings Lecture 05 No
More informationPublic-Service Announcements
Public-Service Announcements The Computer Science Undergraduate Association(CSUA) welcomes all students interested in computer science to join them at their Welcome BBQ on Saturday, 8/27 from 12-4pm at
More informationLecture 5: Implementing Lists, Version 1
CS18 Integrated Introduction to Computer Science Fisler, Nelson Lecture 5: Implementing Lists, Version 1 Contents 1 Implementing Lists 1 2 Methods 2 2.1 isempty...........................................
More informationlecture09: Linked Lists
lecture09: Largely based on slides by Cinda Heeren CS 225 UIUC 24th June, 2013 Announcements mp2 due tonight mt1 tomorrow night! mt1 review instead of lab tomorrow morning mp3 released tonight, mp3.1 extra
More informationPrinciple of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore
Principle of Complier Design Prof. Y. N. Srikant Department of Computer Science and Automation Indian Institute of Science, Bangalore Lecture - 20 Intermediate code generation Part-4 Run-time environments
More informationCOMPUTER SCIENCE IN THE NEWS (TWO YEARS AGO) CS61A Lecture 16 Mutable Data Structures TODAY REVIEW: OOP CLASS DESIGN 7/24/2012
COMPUTER SCIENCE IN THE NEWS (TWO YEARS AGO) CS61A Lecture 16 Mutable Data Structures Jom Magrotker UC Berkeley EECS July 16, 2012 http://articles.nydailynews.com/2010 04 27/news/27062899_1_marks death
More informationUnit 10: Data Structures CS 101, Fall 2018
Unit 10: Data Structures CS 101, Fall 2018 Learning Objectives After completing this unit, you should be able to: Define and give everyday examples of arrays, stacks, queues, and trees. Explain what a
More informationYou must pass the final exam to pass the course.
Computer Science Technology Department Houston Community College System Department Website: http://csci.hccs.cc.tx.us CRN: 46876 978-1-4239-0146-4 1-4239-0146-0 Semester: Fall 2010 Campus and Room: Stafford
More informationProgramming Languages and Techniques (CIS120)
Programming Languages and Techniques () Lecture 20 February 28, 2018 Transition to Java Announcements HW05: GUI programming Due: THURSDAY!! at 11:59:59pm Lots of TA office hours today Thursday See Piazza
More information61A LECTURE 1 FUNCTIONS, VALUES. Steven Tang and Eric Tzeng June 24, 2013
61A LECTURE 1 FUNCTIONS, VALUES Steven Tang and Eric Tzeng June 24, 2013 Welcome to CS61A! The Course Staff - Lecturers Steven Tang Graduated L&S CS from Cal Back for a PhD in Education Eric Tzeng Graduated
More informationRepetition Structures
Repetition Structures Chapter 5 Fall 2016, CSUS Introduction to Repetition Structures Chapter 5.1 1 Introduction to Repetition Structures A repetition structure causes a statement or set of statements
More informationLexical Considerations
Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Spring 2010 Handout Decaf Language Tuesday, Feb 2 The project for the course is to write a compiler
More informationIndex COPYRIGHTED MATERIAL
Index COPYRIGHTED MATERIAL Note to the Reader: Throughout this index boldfaced page numbers indicate primary discussions of a topic. Italicized page numbers indicate illustrations. A abstract classes
More informationCOSE212: Programming Languages. Lecture 4 Recursive and Higher-Order Programming
COSE212: Programming Languages Lecture 4 Recursive and Higher-Order Programming Hakjoo Oh 2016 Fall Hakjoo Oh COSE212 2016 Fall, Lecture 4 September 27, 2016 1 / 21 Recursive and Higher-Order Programming
More informationTA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out
Announcements TA hours and labs start today. First lab is out and due next Wednesday, 1/31. Getting started lab is also out Get you setup for project/lab work. We ll check it with the first lab. Stars
More informationProgramming Languages and Techniques (CIS120e)
Programming Languages and Techniques (CIS120e) Lecture 7 Sep 15, 2010 Binary Search Trees (Part II), Generics Announcements Homework 2 is due tonight at 11:59:59pm. Homework 3 will be available on the
More informationIntroduction to Programming using C++
Introduction to Programming using C++ Lecture One: Getting Started Carl Gwilliam gwilliam@hep.ph.liv.ac.uk http://hep.ph.liv.ac.uk/~gwilliam/cppcourse Course Prerequisites What you should already know
More informationCS 134 Programming Exercise 7:
CS 134 Programming Exercise 7: Scribbler Objective: To gain more experience using recursion and recursive data structures. This week, you will be implementing a program we call Scribbler. You have seen
More informationJava Primer 1: Types, Classes and Operators
Java Primer 1 3/18/14 Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Java Primer 1: Types,
More informationLecture 8 Index (B+-Tree and Hash)
CompSci 516 Data Intensive Computing Systems Lecture 8 Index (B+-Tree and Hash) Instructor: Sudeepa Roy Duke CS, Fall 2017 CompSci 516: Database Systems 1 HW1 due tomorrow: Announcements Due on 09/21 (Thurs),
More informationRuntime Support for Algol-Like Languages Comp 412
COMP 412 FALL 2018 Runtime Support for Algol-Like Languages Comp 412 source code IR Front End Optimizer Back End IR target code Copyright 2018, Keith D. Cooper & Linda Torczon, all rights reserved. Students
More informationObject-oriented programming. and data-structures CS/ENGRD 2110 SUMMER 2018
Object-oriented programming 1 and data-structures CS/ENGRD 2110 SUMMER 2018 Lecture 1: Types and Control Flow http://courses.cs.cornell.edu/cs2110/2018su Lecture 1 Outline 2 Languages Overview Imperative
More informationCPSC 211 Introduction to Software Development
CPSC 211 duction to Software Development Winter 2010-2011 Term 2 Instructor Name: Dr. Kimberly Voll Office: ICCS 241 Email: kvoll@cs.ubc.ca Please put CS211: in the heading of every message,
More informationCS111: PROGRAMMING LANGUAGE II
CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 1(c): Java Basics (II) Lecture Contents Java basics (part II) Conditions Loops Methods Conditions & Branching Conditional Statements A
More informationCSCI-1200 Data Structures Fall 2012 Lecture 5 Pointers, Arrays, Pointer Arithmetic
CSCI-1200 Data Structures Fall 2012 Lecture 5 Pointers, Arrays, Pointer Arithmetic Announcements: Test 1 Information Test 1 will be held Tuesday, September 18th, 2012 from 2-3:50pm in West Hall Auditorium.
More informationAgenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures
The main body and cout Agenda 1 Fundamental data types Declarations and definitions Control structures References, pass-by-value vs pass-by-references The main body and cout 2 C++ IS AN OO EXTENSION OF
More information5/23/2015. Core Java Syllabus. VikRam ShaRma
5/23/2015 Core Java Syllabus VikRam ShaRma Basic Concepts of Core Java 1 Introduction to Java 1.1 Need of java i.e. History 1.2 What is java? 1.3 Java Buzzwords 1.4 JDK JRE JVM JIT - Java Compiler 1.5
More informationIterator and For-Each Loops COMP110 - Lecture 18
Iterator and For-Each Loops COMP110 - Lecture 18 Announcements PS3 - Paternity Test is out! Game of Thrones: Spoilers vs. No Spoilers Due Sunday at 11:59pm 400 Points - Get started early! Whiteboard Hours
More informationLinked Lists CS 16: Solving Problems with Computers I Lecture #16
Linked Lists CS 16: Solving Problems with Computers I Lecture #16 Ziad Matni Dept. of Computer Science, UCSB Material: Everything we ve done Homework, Labs, Lectures, Textbook Tuesday, 12/12 in this classroom
More informationLecture 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 informationCSCI-1200 Data Structures Fall 2017 Lecture 7 Order Notation & Basic Recursion
CSCI-1200 Data Structures Fall 2017 Lecture 7 Order Notation & Basic Recursion Announcements: Test 1 Information Test 1 will be held Monday, Sept 25th, 2017 from 6-7:50pm Students will be randomly assigned
More informationIf you don t, it will return the same thing as == But this may not be what you want... Several different kinds of equality to consider:
CS61B Summer 2006 Instructor: Erin Korber Lecture 5, 3 July Reading for tomorrow: Chs. 7 and 8 1 Comparing Objects Every class has an equals method, whether you write one or not. If you don t, it will
More informationContext-Free Grammars
Context-Free Grammars Describing Languages We've seen two models for the regular languages: Automata accept precisely the strings in the language. Regular expressions describe precisely the strings in
More informationThis course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units.
This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units. Introduction Overview Advancements in technology are
More informationMichele Van Dyne Museum 204B CSCI 136: Fundamentals of Computer Science II, Spring
Michele Van Dyne Museum 204B mvandyne@mtech.edu http://katie.mtech.edu/classes/csci136 CSCI 136: Fundamentals of Computer Science II, Spring 2016 1 Review of Java Basics Data Types Arrays NEW: multidimensional
More informationG Programming Languages Spring 2010 Lecture 4. Robert Grimm, New York University
G22.2110-001 Programming Languages Spring 2010 Lecture 4 Robert Grimm, New York University 1 Review Last week Control Structures Selection Loops 2 Outline Subprograms Calling Sequences Parameter Passing
More informationChanging an Object s Properties
Go ahead and PULL Lecture Materials & Sign-in on PollEv Right Click Lecture > Team > Pull Poll Everywhere: pollev.com/comp110 Lecture 4 Changing an Object s Properties Fall 2016 Announcements Review Session
More informationCS61C Machine Structures. Lecture 4 C Pointers and Arrays. 1/25/2006 John Wawrzynek. www-inst.eecs.berkeley.edu/~cs61c/
CS61C Machine Structures Lecture 4 C Pointers and Arrays 1/25/2006 John Wawrzynek (www.cs.berkeley.edu/~johnw) www-inst.eecs.berkeley.edu/~cs61c/ CS 61C L04 C Pointers (1) Common C Error There is a difference
More information