CSE Lecture 24 Review and Recap. High-Level Overview of the Course!! L1-7: I. Programming Basics!

Similar documents
Introduction to Programming Using Java (98-388)

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

The next three class meetings will focus on Chapter 6 concepts. There will be a labtest on Chapter 5 concepts on Thurs Nov 20/Fri Nov 21.

What we are reinforcing with the exercises this class

CSE1710. Big Picture. Today is last day covering Ch 6. Tuesday, Dec 02 is designated as a study day. No classes. Thursday, Dec 04 is last lecture.

C ONTENTS PART I FUNDAMENTALS OF PROGRAMMING 1. and Java 3. Chapter 1 Introduction to Computers, Programs,

The next three class meetings will focus on Chapter 6 concepts. There will be a labtest on Chapter 5 concepts on Thurs Nov 28/Fri Nov 29.

EECS1710. Announcements. Labtests have been returned Term Test #01 marking is in progress. Next Labtest: Thu Oct 23/Fri Oct 24

CSE1710. Big Picture. Tuesday, Dec 02 is designated as a study day. No classes. Thursday, Dec 04 is last lecture.

Reviewing for the Midterm Covers chapters 1 to 5, 7 to 9. Instructor: Scott Kristjanson CMPT 125/125 SFU Burnaby, Fall 2013

Subclass Gist Example: Chess Super Keyword Shadowing Overriding Why? L10 - Polymorphism and Abstract Classes The Four Principles of Object Oriented

EECS168 Exam 3 Review

Introduction to Python

CSE413: Programming Languages and Implementation Racket structs Implementing languages with interpreters Implementing closures

CSE 413 Languages & Implementation. Hal Perkins Winter 2019 Structs, Implementing Languages (credits: Dan Grossman, CSE 341)

Introduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

TIRA: Text based Information Retrieval Architecture

CERTIFICATE IN WEB PROGRAMMING

Page 1

Objectives for this class meeting. 1. Conduct review of core concepts concerning contracts and pre/post conditions

Glossary. For Introduction to Programming Using Python By Y. Daniel Liang

Chapter 6 Introduction to Defining Classes

Java SE7 Fundamentals

Programming for the Web with PHP

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

CSE1720 Delegation Concepts (Ch 2)

Programming in Scala Second Edition

Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p.

B.V. Patel Institute of BMC & IT, UTU 2014

Programming by Delegation

CS 112 Programming 2. Lecture 10. Abstract Classes & Interfaces (1) Chapter 13 Abstract Classes and Interfaces

CS-XXX: Graduate Programming Languages. Lecture 9 Simply Typed Lambda Calculus. Dan Grossman 2012

Java J Course Outline

Review sheet for Final Exam (List of objectives for this course)

Programming Languages and Techniques (CIS120)

PROCE55 Mobile: Web API App. Web API.

Index COPYRIGHTED MATERIAL

CSE 8B Intro to CS: Java

Object Oriented Programming in Java. Jaanus Pöial, PhD Tallinn, Estonia

EECS1710. Checklist from last lecture (Sept 9, 2014) " get an EECS account (if you don t have it already) " read sections

Object-Oriented Programming in C# (VS 2015)

Aim behind client server architecture Characteristics of client and server Types of architectures

EECS1710. Announcements. epost updated, please check online Next Labtest: Thu Oct 23/Fri Oct 24. Next Term Test: Tue Oct 28.

Compiler Design (40-414)

Strings! Today! CSE String Methods!

CS637 Midterm Review

5. In JAVA, is exception handling implicit or explicit or both. Explain with the help of example java programs. [16]

The Environment Model. Nate Foster Spring 2018

CS 415 Midterm Exam Spring SOLUTION

TTh 9.25 AM AM Strain 322

KLiC C++ Programming. (KLiC Certificate in C++ Programming)

Welcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 8/19/ Review. Here s a simple C++ program:

Object Oriented Programming with Java. Unit-1

Index. object lifetimes, and ownership, use after change by an alias errors, use after drop errors, BTreeMap, 309

COURSE DETAILS: CORE AND ADVANCE JAVA Core Java

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

CPSC 3740 Programming Languages University of Lethbridge. Data Types

Cpt S 122 Data Structures. Course Review Midterm Exam # 2

JAVASCRIPT AND JQUERY: AN INTRODUCTION (WEB PROGRAMMING, X452.1)

Welcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 1/9/ Review. Here s a simple C++ program:

JavaScript: Introduction, Types

What is Polymorphism? Quotes from Deitel & Deitel s. Why polymorphism? How? How? Polymorphism Part 1

Discover how to get up and running with the Java Development Environment and with the Eclipse IDE to create Java programs.

And Parallelism. Parallelism in Prolog. OR Parallelism

Architectural Design. CSCE Lecture 12-09/27/2016

S.No Question Blooms Level Course Outcome UNIT I. Programming Language Syntax and semantics

CGS 3066: Spring 2015 JavaScript Reference

Client-side SOAP in S

QUIZ. How could we disable the automatic creation of copyconstructors

Polymorphism Part 1 1

DOT NET Syllabus (6 Months)

.NET 4.6 MICROSOFT CURRICULUM MICROSOFT.NET 2015 (4.6)

A- Core Java Audience Prerequisites Approach Objectives 1. Introduction

CSE 333 Lecture server sockets

Java Training JAVA. Introduction of Java

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 2: Review of Object Orientation

DHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY ACADEMIC YEAR (ODD SEM)

[Course Overview] After completing this module you are ready to: Develop Desktop applications, Networking & Multi-threaded programs in java.

/ / JAVA TRAINING

CSE 70 Final Exam Fall 2009


CSc 450/550 Computer Networks Network Architectures & Client-Server Model

QUIZ. How could we disable the automatic creation of copyconstructors

SELF-STUDY. Glossary

Fast Track to Core Java 8 Programming for OO Developers (TT2101-J8) Day(s): 3. Course Code: GK1965. Overview

CMSC202 Computer Science II for Majors

Object-Oriented Programming in C# (VS 2012)

Apex TG India Pvt. Ltd.

CSE 12 Abstract Syntax Trees

OOPs Concepts. 1. Data Hiding 2. Encapsulation 3. Abstraction 4. Is-A Relationship 5. Method Signature 6. Polymorphism 7. Constructors 8.

Internet Application Developer

CPS122 Lecture: From Python to Java last revised January 4, Objectives:

Introduction to Programming System Design CSCI 455x (4 Units)

CSE 341, Autumn 2015, Ruby Introduction Summary

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

Basic Object-Orientation

15CS45 : OBJECT ORIENTED CONCEPTS

Varargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript

Chapter 3 Syntax, Errors, and Debugging. Fundamentals of Java

Transcription:

CSE 1710 Lecture 24 Review and Recap High-Level Overview of the Course L1-7: I. Programming Basics Ch1, 2, 5, sec 3.2.4 (JBA) L8, L9: II. Working with Images APIs + Classes L10: Midterm L11-14: III. Object Oriented Basics selected subsections of Ch3 and Ch4 (JBA) L15: Complementary Midterm L16-L19: IV. Text and String Processing Ch6 (JBA) L20-L22: V. Net-Centric Computing (APIs + Classes) L23,L24: Recap and Review 2

I. Programming Basics: Key Concepts what is a class? what is a subpackage? what is the fully qualified name of a class? [Ch1] what is the coding style to which we adhere? why do we do so? [Ch1] what constitutes a class definition [Ch1] what is a statement? [Ch1] how are comments formed? how and why are comments used? [Ch1] case-sensitive, freeform, whitespace [Ch1] 3 I. Programming Basics: Key Concepts what does it mean for a language to be strongly typed? [Ch1] what is a lexical element? what is syntax? [Ch1] what are the operators? (list them by name, also in terms of operands and position) [Ch1] what is precedence? what is association? what are the relational operators? [Ch3] what are the roles of source files and bytecode, of the compiler and the virtual machine? [Ch1] how is memory addressed? how do we represent it? [Ch1] what is meant by type? [Ch1] what is the difference between a signed and unsigned types? [Ch1] how does the character type work? 4

I. Programming Basics: Key Concepts what are values? what does it mean for a variable to be in scope? [Ch1] what is a primitive type? [Ch1] What is a non-primitive type [Ch2] what is an overloaded operator? what is the closure property? what is type conversion? how can it be accomplished? what is a possible consequence of some type conversions? 5 I. Programming Basics: Key Concepts L2, L4 Code Examples 6

II. Working with Images: Key Concepts what classes provide services for working with the file system? [L8] what is a raster? pixels are the elements of a raster which class provides services for working with pixels? what is a colour model? why do we need a colour model? what are two possible colour models? what feature of human vision is exploited in order to produce the colour white? any app must use the services of the window manager in order to draw graphics 7 II. Working with Images: Key Concepts Preparation: Lecture 8 Example 8

III. OO Basics: Key Concepts what is a method? what is the signature of a method? does the signature include the return? how is data passed to methods? [Ch2] what is the difference between a static and a non-static method? what is the difference between a class and an object? how are classes created vs how are object created? [Ch2] what is an attribute? [Ch2] what is the difference between a static attribute and a non-static attribute? [Ch4] what is the state of an object? [Ch2] 9 III. OO Basics: Key Concepts what is an access modifier (as applied to an attribute or to a method)? [Ch2] why should all attributes be made private? [Ch4] what are the types of errors? what is UML used for? [Ch2] what is the difference between a class diagram and an object diagram? what is a utility vs non-utility class? [Ch2][Ch4] what is abstraction? what is abstraction by parameterization vs abstraction by delegation? [L4] what is layered abstraction? [Ch2] what is an encapsulation? what is an API? what is breaking the encapsulation? [Ch2] What is a class API and what are its four components? [Ch3] 10

III. OO Basics: Key Concepts what is console I/O vs other types of I/O? [Ch2] [Ch3] what is the final keyword? how and why should it be used? [Ch2] what is the purpose of a contract? what is meant by a pre condition and a post condition? what is Risk Mitigation by Early Exposure? what is meant by an overloaded method? [Ch 3] what component of the compiler s task is referred to as early binding? [Ch3] what component of the VM s task is referred to as late binding? what is a wrapper class? [Ch3] 11 III. OO Basics: Key Concepts how does the == relational operator work? how does the equals method work? how are they different? [Ch4] what is meant by an obligatory method? [Ch4] what is an orphan object and what happens to it? [Ch4] 12

III. OO Basics: Key Concepts Ch 3 RQ 1-12,19-23,25-30, Ex 3.1-3.10 Ch 4 RQ1-34, Ex 4.1-4.12 L5 & L6 Code Examples Lecture 14 Sample Apps 13 IV. Strings and Formatted Text: Key Concepts Strings are objects, but can masquerade as primitive values. String objects are immutable, whereas StringBuffer objects are mutable. StringBuffer objects are very similar to Strings; StringBuffer objects cannot masquerade as primitive values, but they can be modified via mutator methods (append, delete, insert). The state of a string boils down to its sequence of characters, which are indexed, starting at 0. They key difference between an empty string and a variable of type String that is assigned the value null. The string concatenation operator will coerce numeric operands to Strings. 14

IV. Strings and Formatted Text: Key Concepts Each primitive type has a wrapper class. For any primitive value, one can derive an instance of its corresponding wrapper class (boxing). From any instance of a wrapper class, the corresponding primitive value can be derived (unboxing). Each wrapper class has a parsex(string) method; using these methods, we can parse any numeric string into a numeric value. String processing often entails deriving character frequencies and/or implementing character substitution. Regular expressions are a formalism for describing patterns in strings. Regular expressions are merely strings themselves, but they get interpreted as regular expressions in certain contexts, such when provied as the parameters value of certain methods, such as matches(string) and replaceall(string, String). 15 IV. Strings and Formatted Text: Key Concepts Formatted Text via basic html the basic elements: <html>, <head>, <body>, <hx> (x=1..6), <p>, <br> formatted elements: <b>, <i>, <em>, etc elements may be embedded elements have have attributes (style, color) Formatted text must be rendered by browser by HTMLTextDisplayer 16

IV. Strings and Formatted Text: Key Concepts Preparation: Chapter 6, RQ1-30 already reviewed: RQ1, 3, 11, 13, 14, 17, 21, 22, 25 Lecture 16, 17, 18 Sample Apps 17 V. Net-Centric Computing: Key Concepts The Internet Protocol Suite (aka TCP/IP) accomplishes the sending and receiving of messages between nodes in a network via a set of protocols The set is an example of layered abstraction: each layer hides the details under it. Each layer provides services to the layer above it. e.g., the transport layer uses services provided by the network layer and provides services to the application layer HTTP is one particular application-layer protocol; it is but one of several possible application layer protocols. It is the protocol concerned with the sending and receiving of html 18

V. Net-Centric Computing: Key Concepts The WWW is not the same thing as the Internet; the WWW is just the subset of the Internet concerned with html pages. The WWW does not concern any of the other application layer protocols nor peer-to-peer file transfers. HTTP has client and server roles. The client sends requests and the server provides replies. 19 V. Net-Centric Computing: Key Concepts The server role is filled by HTTP server software (aka web server software). An example is Apache. A web server follows a fairly basic algorithm for listening for and responding to requests for content. The client role is filled by any software that is capable of issuing requests to a HTTP server. One type of such software is a web browsers, which provides a graphical user interface to users. Another example is java apps that make use of net services, via the URL and URLConnection classes. 20

V. Net-Centric Computing: Key Concepts Requests can be made for static content or for dynamic content. Static content is content that already exists on the server in the form of a html file. Dynamic content is content that is generated by the web server when it is requested. Often the content is generated via a CGI script. The content can be tailored according to the request; the request is often accompanied with a query string (the part of the URL that starts with?, as in http://www.cse.yorku.ca/~roumani/epost/server/ep.cgi? year=2011-12&term=f&course=1710). 21 V. Net-Centric Computing: Key Concepts Preparation: understand the code egs Lecture 20 Sample Apps Lecture 21 Sample Apps Lecture 22 Sample Apps 22

The Final Exam Final Lab Exam, 15% 85 minutes Final Written Exam, 15% 85 minutes Family Names: A-M Written Exam, CSE B, 2-3:25pm Lab Exam, CSE 1002, 3:35-5pm Family Names: N-Z Lab Exam, CSE 1002, 2-3:25pm Written Exam, CSE B, 3:35-5pm The location info is provided as a convenience to you. It is your responsibility to verify the location using the official source: https://w2prod.sis.yorku.ca/apps/webobjects/cdm.woa/wa/curexam 23 Final Written Exam 33% concepts from Ch3, Ch4 (overlap with Complementary MT) 33% String Processing (Ch6) RQ1-30 a question that involves a memory diagram that involves string objects 33% Net-Centric Processing services provided by the classes URL, URLConnection and HttpURLConnection 24

Final Lab Exam Will be a version of one of the following: labtest 3, labtest 4 or labtest 5 25