Software Construction
|
|
- Regina Jennings
- 5 years ago
- Views:
Transcription
1 Lecture 1: Introduction Software Construction in Java for HSE Moscow Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software Engineering & Technology Group wstomv/edu/sc-hse c 2014, T. TUE.NL 1/28 Software Construction: Lecture 1
2 About the Lectures In English Slow me down, if it goes too fast Interrupt me, if it is not clear Audio/Video link has limitations Slides, tool demo Not enough time to explain all details in lecture: You must explore yourself c 2014, T. TUE.NL 2/28 Software Construction: Lecture 1
3 About the Lecturer Study: Applied Mathematics PhD Thesis: A Theory of Delay-Insensitive Systems Running: long-distance Music: recorder (wooden flute) quartet Mathematical Art (with my father) Teach math enrichment in a primary school Teach/Research at TU/e: Model-Driven Engineering c 2014, T. TUE.NL 3/28 Software Construction: Lecture 1
4 Overview Introductory problem Organizational issues, the big picture Motivation, background Imperative core of the Java programming language Study material c 2014, T. TUE.NL 4/28 Software Construction: Lecture 1
5 Introductory Problem What is a problem? c 2014, T. TUE.NL 5/28 Software Construction: Lecture 1
6 Introductory Problem Problem = Difference between what you want and what you have c 2014, T. TUE.NL 6/28 Software Construction: Lecture 1
7 Dice Game: What We Want 5 players, 2 cubic dice, each producing values 1 through 6 Per round, each player rolls the 2 dice Player with unique highest roll wins round; otherwise, no winner Player Result Player 4 wins no winner ? Player 1 requests to roll a single dodecahedron, whose faces are numbered 1 through 12 Question: How does this influence the game? c 2014, T. TUE.NL 7/28 Software Construction: Lecture 1
8 Solving a Problem through a Program: What We Have What you have: Programming language Programming tools Programming techniques What you do: Analyze the problem Design a program (text) Run the program, provide input, use output c 2014, T. TUE.NL 8/28 Software Construction: Lecture 1
9 Weekly Schedule Course: 2 7 weeks Day Moscow Time What Monday 16:40 18:00 Lecture Monday 18:00 18:30 Question & Answer (if schedule permits it) Thursday 23:00 Homework deadline c 2014, T. TUE.NL 9/28 Software Construction: Lecture 1
10 Homework We use peach 3 at ext.peach3.nl Register Username = initial + family name; e.g. sshershakov Join course Software Construction for HSE ( ) Submit your work Receive feedback from peach 3, automatically from me or HSE assistants from your peers (peer review) c 2014, T. TUE.NL 10/28 Software Construction: Lecture 1
11 Study Material [DE] Introduction to Programming Using Java by David Eck, Version 7.0, August 2014 [EB] Programming in the Large with Design Patterns by Eddie Burris, Pretty Print Press, 2012 Slides, handouts, example code, assignments Miscellaneous (web) resources Frequently Asked Questions Subversion repository (see FAQ) c 2014, T. TUE.NL 11/28 Software Construction: Lecture 1
12 Additional Study Material The Java Language Specification by James Gosling et al. c 2014, T. TUE.NL 12/28 Software Construction: Lecture 1
13 Tools JDK DrJava NetBeans Javadoc JUnit JaCoCo UML SQE Profiler Java Development Kit, Java 7 Standard Edition IDE with Interactions IDE with GUI designer, and plug-ins Java documentation tool Java Unit Testing Framework Java Code Coverage plug-in Unified Modeling Language Software Quality Environment Performance Analysis c 2014, T. TUE.NL 13/28 Software Construction: Lecture 1
14 Motivation Assumption: You have some programming experience Syntax, semantics, pragmatics (conventions) Types, variables, expressions, statements, input/output Goal: Systematic design of larger object-oriented Java programs Design: Blueprint; also: activity leading to blueprint Concepts, terminology, notation How to communicate about programs and about programming Rational design How to reason about programs, how to motivate design decisions c 2014, T. TUE.NL 14/28 Software Construction: Lecture 1
15 Product, Process, and Documentation Product: machine-executable working program or component Product documentation: artifacts to support product (design) Process: the way persons work (individually, or as a team) Guidelines, step-by-step check lists, design methods,... Process documentation: describes/prescribes a process Focus on: methodical process, producing documented product Not on product itself; not on creation of process documentation c 2014, T. TUE.NL 15/28 Software Construction: Lecture 1
16 Quick Intro to Imperative Core of Java Chapters 2, 3, and 7 of book by David Eck Comments: /*... */ /**... */ //... Types, Values, Literals: int long boolean String double Expressions: (1 + 2) * 3 == 9 "ab"+ "c" Variables, Assignment Statements: variable = expression; Statement Blocks: {... } Control Statements: if else, while, for Console Output: System.out.println(...); Arrays: int[] a = { 0, 1, 2 };... a[expression]... c 2014, T. TUE.NL 16/28 Software Construction: Lecture 1
17 How to Practice with Java Install DrJava and do some Interactions > > import javax.swing.jframe; > JFrame jf = new JFrame(); // no window visible > jf.show(); // now locate the window on your computer screen > jf.getwidth() 128 > jf.setsize(640, 480); > jf.settitle("hello, here I am!"); c 2014, T. TUE.NL 17/28 Software Construction: Lecture 1
18 What Is a Java Program? At compile time: Collection of classes, where each class has typed variables, also known as fields or attributes or member variables methods, optionally with typed return value and parameters At run time: also a collection of objects, where each object is instantiated from a class, and each variable in an object has a value from its type c 2014, T. TUE.NL 18/28 Software Construction: Lecture 1
19 Java Programs in Week 1 One class without variables, but with constant definitions: final static Type NAME = expression; one (static) method with parameters (input) and a return value (output) No objects c 2014, T. TUE.NL 19/28 Software Construction: Lecture 1
20 Simple Java Program 1 public class EchoArgs { 2 3 public static void main(string[] args) { 4 for (String arg : args) { 5 System.out.println( " + arg + " ); 6 } 7 } 8 } In DrJava Interactions: run EchoArgs Hello HSE! produces "Hello" "HSE!" c 2014, T. TUE.NL 20/28 Software Construction: Lecture 1
21 Important Notes In Java, a class named Xyz must be stored in a file named Xyz.java In Java, by default, execution starts at public static void main which must have one string array parameter String[] args In DrJava, this main is invoked by run... In DrJava, static method m of class C is invokved by C.m(...) c 2014, T. TUE.NL 21/28 Software Construction: Lecture 1
22 Program for Dividing Candy 1 /** 2 * k kids together receive c candies. 3 * They wonder whether it is possible 4 * to divide all candies fairly. 5 * 6 * If this is possible, they also want to know 7 * how many candies each of them gets. 8 * This is a number q such that c == q * k. 9 * 10 * k, c, and q are non-negative integers, less than 10ˆ * c 2014, T. TUE.NL 22/28 Software Construction: Lecture 1
23 Program for Dividing Candy 1 <!--//# BEGIN TODO: Name, group, and date--> 2 <p><font color="red"><b>replace this line</b></font></p> 3 <!--//# END TODO--> 4 */ 5 // <----- cut line <----- c 2014, T. TUE.NL 22/28 Software Construction: Lecture 1
24 Program for Dividing Candy 1 public class Candy { 2 3 /** 4 * Returns a negative value to indicate 5 * that the division is impossible, and otherwise, 6 * returns the number of candies each kid gets. 7 */ 8 static long divide(long k, long c) { 9 long result; // value to be returned 10 // put your solution here 11 result = 5; // just some value to make it compile 12 return result; 13 } 14 } In DrJava Interactions: Candy.divide(3, 15) produces 5 c 2014, T. TUE.NL 22/28 Software Construction: Lecture 1
25 Important Constraints Put in your name, group, and the date, above cut line with --8<-- This week only one static method; no auxiliary methods, no objects no package statements no import statements Write readable code (see Coding Standard) Test your program before submitting (Quality Assurance) Submit your own work (individual assignments) c 2014, T. TUE.NL 23/28 Software Construction: Lecture 1
26 Program for Dice Game 1 /** 2 * Consider the following dice game. 3 * Five players each roll once per round. 4 * Player 1 rolls a (fair) dodecahedron, 5 * having 12 faces with the numbers 1 through * The other players (2 through 5) roll two fair dice, 7 * each having 6 faces with the numbers 1 through 6. 8 * The player with the unique highest roll 9 * wins the round. If the highest roll is 10 * not unique, then there is no round winner. 11 * c 2014, T. TUE.NL 24/28 Software Construction: Lecture 1
27 Program for Dice Game 1 <!--//# BEGIN TODO: Name, id, and date--> 2 <p><font color="red"><b>replace this line</b></font></p> 3 <!--//# END TODO--> 4 */ 5 // <----- cut line <----- c 2014, T. TUE.NL 24/28 Software Construction: Lecture 1
28 Program for Dice Game 1 public class DiceGame { 2 3 /** Number of players, >= 1 */ 4 final static int NUM_PLAYERS = 5; 5 6 /** Index for frequency of rounds without winner */ 7 final static int NO_WINNER = 0; c 2014, T. TUE.NL 24/28 Software Construction: Lecture 1
29 Program for Dice Game 1 /** 2 * Simulates r >= 0 rounds of the dice game and 3 * returns how often each player won. 4 * The return value is an array, where 5 * index 0 counts the number rounds without winner, and 6 * index i > 0 counts the number of rounds won by player i. 7 */ 8 static public int[] simulate(int r) { c 2014, T. TUE.NL 24/28 Software Construction: Lecture 1
30 Program for Dice Game 1 static public int[] simulate(int r) { 2 int[] result; // winning frequencies 3 result = new int[1 + NUM_PLAYERS]; // initialize to 0 4 //# BEGIN TODO: Provide your solution 5 // Replace this line 6 //# END TODO 7 return result; 8 } 9 10 } c 2014, T. TUE.NL 24/28 Software Construction: Lecture 1
31 More Practicing codingbat.com c 2014, T. TUE.NL 25/28 Software Construction: Lecture 1
32 How to Write Readable Java Source Code Code Conventions for the Java Programming Language Java Coding Standards by ESA BSSC (2005) Concerns: layout, naming, commenting, structure c 2014, T. TUE.NL 26/28 Software Construction: Lecture 1
33 10 simple conventions Coding Standard for 2IPC0 Layout: NetBeans > Source > Format : default settings do a good job Declare no more than one field or local variable per line Comments: Each public class, constructor, method, field has doc comment Each non-public class, constructor, method, field, local variable has normal (non-doc) comment c 2014, T. TUE.NL 27/28 Software Construction: Lecture 1
34 Summary Consult the course page: wstomv/edu/sc-hse/ Study Material Imperative Core of Java DrJava, codingbat.com Register in peach 3 : ext.peach3.nl Assignments: Candy, DiceGame c 2014, T. TUE.NL 28/28 Software Construction: Lecture 1
2IP15 Programming Methods
Lecture 1: Introduction, Functional Decomposition 2IP15 Programming Methods From Small to Large Programs Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software
More informationSoftware Construction
Lecture 2: Decomposition and Java Methods Software Construction in Java for HSE Moscow Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software Engineering
More informationThe following topics will be covered in this course (not necessarily in this order).
The following topics will be covered in this course (not necessarily in this order). Introduction The course focuses on systematic design of larger object-oriented programs. We will introduce the appropriate
More informationSoftware Construction
Lecture 7: Type Hierarchy, Iteration Abstraction Software Construction in Java for HSE Moscow Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software Engineering
More informationSoftware Engineering: Theory and Practice. Verification by Testing. Test Case Design. Tom Verhoeff
Software Engineering: Theory and Practice Verification by Testing Test Case Design Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software Engineering & Technology
More informationSoftware Construction
Lecture 11: Command Design Pattern Software Construction in Java for HSE Moscow Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software Engineering & Technology
More informationCS61BL. Lecture 1: Welcome to CS61BL! Intro to Java and OOP Testing Error-handling
CS61BL Lecture 1: Welcome to CS61BL! Intro to Java and OOP Testing Error-handling About me Name: Edwin Liao Email: edliao@berkeley.edu Office hours: Thursday 3pm - 5pm Friday 11am - 1pm 611 Soda Or by
More informationSoftware Construction
Lecture 5: Robustness, Exceptions Software Construction in Java for HSE Moscow Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software Engineering & Technology
More informationCS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims
CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims Lecture 1: Overview http://courses.cs.cornell.edu/cs2110 1 Course Staff Instructor Thorsten Joachims (tj@cs.cornell.edu)
More informationCompSci 125 Lecture 02
Assignments CompSci 125 Lecture 02 Java and Java Programming with Eclipse! Homework:! http://coen.boisestate.edu/jconrad/compsci-125-homework! hw1 due Jan 28 (MW), 29 (TuTh)! Programming:! http://coen.boisestate.edu/jconrad/cs125-programming-assignments!
More informationAP Computer Science Unit 1. Programs
AP Computer Science Unit 1. Programs Open DrJava. Under the File menu click on New Java Class and the window to the right should appear. Fill in the information as shown and click OK. This code is generated
More informationTwo Types of Types. Primitive Types in Java. Using Primitive Variables. Class #07: Java Primitives. Integer types.
Class #07: Java Primitives Software Design I (CS 120): M. Allen, 13 Sep. 2018 Two Types of Types So far, we have mainly been dealing with objects, like DrawingGizmo, Window, Triangle, that are: 1. Specified
More information2IP15 Programming Methods
Lecture 13: Concurrency 2IP15 Programming Methods From Small to Large Programs Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software Engineering & Technology
More informationCOMP 111. Introduction to Computer Science and Object-Oriented Programming. Week 2
COMP 111 Introduction to Computer Science and Object-Oriented Programming Programming A program solves a problem or provides a service Useful programs apply to many instances of a problem First use for
More informationACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1
ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1 Due to CMS by Tuesday, February 14. Social networking has caused a return of the dot-com madness. You want in on the easy money, so you have decided to make
More information2IP15 Programming Methods
Lecture 5: Iteration Abstraction 2IP15 Programming Methods From Small to Large Programs Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software Engineering
More informationCS/ENGRD 2110 SPRING Lecture 2: Objects and classes in Java
1 CS/ENGRD 2110 SPRING 2017 Lecture 2: Objects and classes in Java http://courses.cs.cornell.edu/cs2110 CMS VideoNote.com, PPT slides, DrJava, Book 2 CMS available. Visit course webpage, click Links, then
More informationAP Computer Science A: Java Programming
AP Computer Science A: Java Programming Zheng-Liang Lu Department of Computer Science & Information Engineering National Taiwan University APcomSci 297 Spring 2018 Class Information Instructor: Zheng-Liang
More informationCS 121 Intro to Programming:Java - Lecture 2. Professor Robert Moll (+ TAs) CS BLDG
CS 121 Intro to Programming:Java - Lecture 2 Course home page: Professor Robert Moll (+ TAs) CS BLDG 276-545-4315 moll@cs.umass.edu http://twiki-edlab.cs.umass.edu/bin/view/moll121/webhome First OWL assignment
More informationEncapsulation. Administrative Stuff. September 12, Writing Classes. Quick review of last lecture. Classes. Classes and Objects
Administrative Stuff September 12, 2007 HW3 is due on Friday No new HW will be out this week Next Tuesday we will have Midterm 1: Sep 18 @ 6:30 7:45pm. Location: Curtiss Hall 127 (classroom) On Monday
More information1 OBJECT-ORIENTED ANALYSIS
UML and Patterns.book Page 3 Sunday, August 9, 200 2:50 PM Chapter OBJECT-ORIENTED ANALYSIS AND DESIGN The shift of focus (to patterns) will have a profound and enduring effect on the way we write programs.
More informationAP Computer Science A
AP Computer Science A Zheng-Liang Lu Department of Computer Science and Information Engineering National Taiwan University APcomSciA 268 Summer 2016 Class Information The class website, http://www.csie.ntu.edu.tw/
More informationAnnouncements. 1. Forms to return today after class:
Announcements Handouts (3) to pick up 1. Forms to return today after class: Pretest (take during class later) Laptop information form (fill out during class later) Academic honesty form (must sign) 2.
More informationInf1-OOP. Textbooks. Who and What. Organizational Issues. Why Java? Course Overview. Hello, World! in Java. Ewan Klein, Perdita Stevens
Organizational Issues Inf1-OOP Course Overview Ewan Klein, Perdita Stevens School of Informatics January 12, 2013 Why Java? Hello, World! in Java Built-in Types Integers Floating-Point Numbers Type Conversion
More informationCONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17
List of Programs xxv List of Figures xxix List of Tables xxxiii Preface to second version xxxv PART 1 Structured Programming 1 1 Getting started 3 1.1 Programming 3 1.2 Editing source code 5 Source code
More informationJava Programming. Zheng-Liang Lu. Java 301 Summer Department of Computer Science & Information Engineering National Taiwan University
Java Programming Zheng-Liang Lu Department of Computer Science & Information Engineering National Taiwan University Java 301 Summer 2018 Class Information Instructor: Zheng-Liang Lu Email: d00922011@csie.ntu.edu.tw
More informationCourse Outline. Introduction to java
Course Outline 1. Introduction to OO programming 2. Language Basics Syntax and Semantics 3. Algorithms, stepwise refinements. 4. Quiz/Assignment ( 5. Repetitions (for loops) 6. Writing simple classes 7.
More informationCS1004: Intro to CS in Java, Spring 2005
CS1004: Intro to CS in Java, Spring 2005 Lecture #13: Java OO cont d. Janak J Parekh janak@cs.columbia.edu Administrivia Homework due next week Problem #2 revisited Constructors, revisited Remember: a
More information13 th Windsor Regional Secondary School Computer Programming Competition
SCHOOL OF COMPUTER SCIENCE 13 th Windsor Regional Secondary School Computer Programming Competition Hosted by The School of Computer Science, University of Windsor WORKSHOP I [ Overview of the Java/Eclipse
More informationInf1-OOP. Textbooks. Who and What. Organisational issues. Why Java? Course Overview. Hello, World! in Java
Organisational issues Inf1-OOP Course Overview Perdita Stevens, adapting earlier version by Ewan Klein School of Informatics January 11, 2014 Why Java? Hello, World! in Java Built-in Types Integers Floating-Point
More informationCS/ENGRD 2110 FALL Lecture 2: Objects and classes in Java
1 CS/ENGRD 2110 FALL 2017 Lecture 2: Objects and classes in Java http://courses.cs.cornell.edu/cs2110 CMS VideoNote.com, PPT slides, DrJava 2 CMS. Visit course webpage, click Links, then CMS for 2110.
More informationExercise 1: Intro to Java & Eclipse
Exercise 1: Intro to Java & Eclipse Discussion of exercise solution We do not put the exercise solution s source code online! But we show & publish the most important parts on slides There are sometimes
More information} Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = / 2; 3. int x = 5 / ; 4. double x = 5 / 2.
Class #10: Understanding Primitives and Assignments Software Design I (CS 120): M. Allen, 19 Sep. 18 Java Arithmetic } Evaluate the following expressions: 1. int x = 5 / 2 + 2; 2. int x = 2 + 5 / 2; 3.
More informationOutline. Object Oriented Programming. Course goals. Staff. Course resources. Assignments. Course organization Introduction Java overview Autumn 2003
Outline Object Oriented Programming Autumn 2003 2 Course goals Software design vs hacking Abstractions vs language (syntax) Java used to illustrate concepts NOT a course about Java Prerequisites knowledge
More informationAP Computer Science A Summer Assignment 2017
AP Computer Science A Summer Assignment 2017 The objective of this summer assignment is to ensure that each student has the ability to compile and run code on a computer system at home. We will be doing
More informationIntroduction to Software Development (ISD) David Weston and Igor Razgon
Introduction to Software Development (ISD) David Weston and Igor Razgon Autumn term 2013 Course book The primary book supporting the ISD module is: Java for Everyone, by Cay Horstmann, 2nd Edition, Wiley,
More informationCS11 Java. Fall Lecture 1
CS11 Java Fall 2006-2007 Lecture 1 Welcome! 8 Lectures Slides posted on CS11 website http://www.cs.caltech.edu/courses/cs11 7-8 Lab Assignments Made available on Mondays Due one week later Monday, 12 noon
More informationIntroduction to Computation and Problem Solving
Class 1: Introduction Introduction to Computation and Problem Solving Prof. Steven R. Lerman and Dr. V. Judson Harward Handouts for Today Course syllabus Academic Honesty Guidelines Laptop request form
More informationJava Programming. Zheng-Liang Lu. Java 308 Spring Department of Computer Science & Information Engineering National Taiwan University
Java Programming Zheng-Liang Lu Department of Computer Science & Information Engineering National Taiwan University Java 308 Spring 2019 Class Information Instructor: Zheng-Liang Lu Email: d00922011@ntu.edu.tw
More informationBASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I
BASIC COMPUTATION x public static void main(string [] args) Fundamentals of Computer Science I Outline Using Eclipse Data Types Variables Primitive and Class Data Types Expressions Declaration Assignment
More informationReview Chapter 6 in Bravaco. Short Answers 1. This type of method does not return a value. a. null b. void c. empty d. anonymous
Assignment 3 Methods Review CSC 123 Fall 2018 Notes: All homework must be submitted via e-mail. All parts of assignment must be submitted in a single e-mail with multiple attachments when required. Notes:
More informationComputer Science II Data Structures
Computer Science II Data Structures Instructor Sukumar Ghosh 201P Maclean Hall Office hours: 10:30 AM 12:00 PM Mondays and Fridays Course Webpage homepage.cs.uiowa.edu/~ghosh/2116.html Course Syllabus
More informationSan Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018
San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018 Course and Contact Information Instructor: Suneuy Kim Office
More informationCS 140 Programming with Objects
CS 140 Programming with Objects Instructor: Tom Bartenstein Course Web Page: http://www.cs.binghamton.edu/~tbartens/cs140_fall_2017/ 1 Catalog Description Provides the foundations of software development
More informationProgramming with Java
Programming with Java Data Types & Input Statement Lecture 04 First stage Software Engineering Dep. Saman M. Omer 2017-2018 Objectives q By the end of this lecture you should be able to : ü Know rules
More informationJava Basics Lecture: January 26, 2012 (On-line Lecture 1)
Java Basics Lecture: January 26, 2012 (On-line Lecture 1) CMPSCI 121, Spring 2012 Introduction to Problem Solving with Computers Prof. Erik Learned-Miller Logistics Previous lectures are on-line. See links
More informationIntroduction to Programming (Java) 2/12
Introduction to Programming (Java) 2/12 Michal Krátký Department of Computer Science Technical University of Ostrava Introduction to Programming (Java) 2008/2009 c 2006 2008 Michal Krátký Introduction
More informationSAMS Programming A/B. Lecture #1 Introductions July 3, Mark Stehlik
SAMS Programming A/B Lecture #1 Introductions July 3, 2017 Mark Stehlik Outline for Today Overview of Course A Python intro to be continued in lab on Wednesday (group A) and Thursday (group B) 7/3/2017
More informationControls Structure for Repetition
Controls Structure for Repetition So far we have looked at the if statement, a control structure that allows us to execute different pieces of code based on certain conditions. However, the true power
More informationAnnouncements. Course syllabus Tutorial/lab signup form (due 4pm today) Lecture 1 notes Homework 1 Initial assessment
Announcements Handouts (5) to pick up Course syllabus Tutorial/lab signup form (due 4pm today) Lecture 1 notes Homework 1 Initial assessment Please do it now and hand it in as you leave lecture It s ungraded;
More informationTOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1
TOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1 ABSTRACT Test-Driven Development is a design strategy where a set of tests over a class is defined prior to the implementation of that class. The goal
More informationMidterms Save the Dates!
University of British Columbia CPSC 111, Intro to Computation Alan J. Hu (Using the Scanner and String Classes) Anatomy of a Java Program Readings This Week s Reading: Ch 3.1-3.8 (Major conceptual jump
More information2IP15 Programming Methods
Lecture 3: Robustness 2IP15 Programming Methods From Small to Large Programs Tom Verhoeff Eindhoven University of Technology Department of Mathematics & Computer Science Software Engineering & Technology
More informationJava Programming. Zheng-Liang Lu. Java 304 Fall Department of Computer Science & Information Engineering National Taiwan University
Java Programming Zheng-Liang Lu Department of Computer Science & Information Engineering National Taiwan University Java 304 Fall 2018 Class Information Instructor: Zheng-Liang Lu Email: d00922011@ntu.edu.tw
More informationCSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall Office hours:
CSE115 / CSE503 Introduction to Computer Science I Dr. Carl Alphonce 343 Davis Hall alphonce@buffalo.edu Office hours: Tuesday 10:00 AM 12:00 PM * Wednesday 4:00 PM 5:00 PM Friday 11:00 AM 12:00 PM OR
More informationCOMP 110 Programming Exercise: Simulation of the Game of Craps
COMP 110 Programming Exercise: Simulation of the Game of Craps Craps is a game of chance played by rolling two dice for a series of rolls and placing bets on the outcomes. The background on probability,
More informationCS 121 Intro to Programming:Java - Lecture 2. Professor Robert Moll (+ TAs) CS BLDG
CS 121 Intro to Programming:Java - Lecture 2 Course home page: Professor Robert Moll (+ TAs) CS BLDG 276-545-4315 moll@cs.umass.edu http://twiki-edlab.cs.umass.edu/bin/view/moll121/webhome Read text chapters
More informationSCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 1 EXAMINATIONS 2015/2016 CI101 / CI177. Programming
s SCHOOL OF COMPUTING, ENGINEERING AND MATHEMATICS SEMESTER 1 EXAMINATIONS 2015/2016 CI101 / CI177 Programming Time allowed: THREE hours: Answer: ALL questions Items permitted: Items supplied: There is
More informationProgramming. Syntax and Semantics
Programming For the next ten weeks you will learn basic programming principles There is much more to programming than knowing a programming language When programming you need to use a tool, in this case
More informationEINDHOVEN UNIVERSITY OF TECHNOLOGY
EINDHOVEN UNIVERSITY OF TECHNOLOGY Department of Mathematics & Computer Science Exam Programming Methods, 2IP15, Wednesday 17 April 2013, 09:00 12:00 TU/e THIS IS THE EXAMINER S COPY WITH (POSSIBLY INCOMPLETE)
More information4. Java Project Design, Input Methods
4-1 4. Java Project Design, Input Methods Review and Preview You should now be fairly comfortable with creating, compiling and running simple Java projects. In this class, we continue learning new Java
More informationCSC116: Introduction to Computing - Java
CSC116: Introduction to Computing - Java Intro to CSC116 Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Course Instructor: Instructors
More informationCS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class
CS112 Lecture: Defining Classes Last revised 2/3/06 Objectives: 1. To describe the process of defining an instantiable class Materials: 1. BlueJ SavingsAccount example project 2. Handout of code for SavingsAccount
More informationIntroduction to Data Structures
15-121 Introduction to Data Structures Lecture #1 Introduction 28 August 2019 Margaret Reid-Miller Today Course Administration Overview of Course A (very basic) Java introduction Course website: www.cs.cmu.edu/~mrmiller/15-121
More informationCSC116: Introduction to Computing - Java
CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Schedule Computing Environment AFS (Andrew File System) Linux/Unix Commands Helpful Tricks Computers First Java
More informationMEAP Edition Manning Early Access Program Get Programming with Java Version 1
MEAP Edition Manning Early Access Program Get Programming with Java Version 1 Copyright 2018 Manning Publications For more information on this and other Manning titles go to www.manning.com welcome First,
More informationCPSC 427: Object-Oriented Programming
CPSC 427: Object-Oriented Programming Michael J. Fischer Lecture 18 November 7, 2016 CPSC 427, Lecture 18 1/19 Demo: Craps Game Polymorphic Derivation (continued) Name Visibility CPSC 427, Lecture 18 2/19
More informationCS 170 Java Programming 1. Week 13: Classes, Testing, Debugging
CS 170 Java Programming 1 Week 13: Classes, Testing, Debugging What s the Plan? Short lecture for makeup exams Topic 1: A Little Review How to create your own user-defined classes Defining instance variables,
More informationCS 211: Existing Classes in the Java Library
CS 211: Existing Classes in the Java Library Chris Kauffman Week 3-2 Logisitics Logistics P1 Due tonight: Questions? Late policy? Lab 3 Exercises Thu/Fri Play with Scanner Introduce it today Goals Class
More informationPROGRAMMING FUNDAMENTALS
PROGRAMMING FUNDAMENTALS Q1. Name any two Object Oriented Programming languages? Q2. Why is java called a platform independent language? Q3. Elaborate the java Compilation process. Q4. Why do we write
More informationSection 2: Introduction to Java. Historical note
The only way to learn a new programming language is by writing programs in it. - B. Kernighan & D. Ritchie Section 2: Introduction to Java Objectives: Data Types Characters and Strings Operators and Precedence
More informationFull file at
Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class
More informationJava for Non Majors. Final Study Guide. April 26, You will have an opportunity to earn 20 extra credit points.
Java for Non Majors Final Study Guide April 26, 2017 The test consists of 1. Multiple choice questions 2. Given code, find the output 3. Code writing questions 4. Code debugging question 5. Short answer
More informationData dependent execution order data dependent control flow
Chapter 5 Data dependent execution order data dependent control flow The method of an object processes data using statements, e.g., for assignment of values to variables and for in- and output. The execution
More informationCS Fall Homework 5 p. 1. CS Homework 5
CS 235 - Fall 2015 - Homework 5 p. 1 Deadline: CS 235 - Homework 5 Due by 11:59 pm on Wednesday, September 30, 2015. How to submit: Submit your files using ~st10/235submit on nrs-projects, with a homework
More informationProgramming Language Concepts: Lecture 2
Programming Language Concepts: Lecture 2 Madhavan Mukund Chennai Mathematical Institute madhavan@cmi.ac.in http://www.cmi.ac.in/~madhavan/courses/pl2011 PLC 2011, Lecture 2, 6 January 2011 Classes and
More informationCS 101 Fall 2006 Midterm 3 Name: ID:
You only need to write your name and e-mail ID on the first page. This exam is CLOSED text book, closed-notes, closed-calculator, closed-neighbor, etc. Questions are worth different amounts, so be sure
More informationJava Swing Introduction
Course Name: Advanced Java Lecture 18 Topics to be covered Java Swing Introduction What is Java Swing? Part of the Java Foundation Classes (JFC) Provides a rich set of GUI components Used to create a Java
More informationIntroduction to the course and basic programming concepts
Introduction to the course and basic programming concepts Lecture 1 of TDA 540 Object-Oriented Programming Jesper Cockx Fall 2018 Chalmers University of Technology Gothenburg University About the course
More informationSDKs - Eclipse. SENG 403, Tutorial 2
SDKs - SENG 403, Tutorial 2 AGENDA - SDK Basics - - How to create Project - How to create a Class - Run Program - Debug Program SDK Basics Software Development Kit is a set of software development tools
More information1 Introduction Java, the beginning Java Virtual Machine A First Program BlueJ Raspberry Pi...
Contents 1 Introduction 3 1.1 Java, the beginning.......................... 3 1.2 Java Virtual Machine........................ 4 1.3 A First Program........................... 4 1.4 BlueJ.................................
More informationLecture 1. Course Overview Types & Expressions
Lecture 1 Course Overview Types & Expressions CS 1110 Spring 2012: Walker White Outcomes: Basics of (Java) procedural programming Usage of assignments, conditionals, and loops. Ability to write recursive
More informationCSE 421 Course Overview and Introduction to Java
CSE 421 Course Overview and Introduction to Java Computer Science and Engineering College of Engineering The Ohio State University Lecture 1 Learning Objectives Knowledgeable in how sound software engineering
More informationSan Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017
San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017 Course and Contact Information Instructor: Dr. Kim Office Location:
More informationCS 170 Java Programming 1. Week 12: Creating Your Own Types
CS 170 Java Programming 1 Week 12: Creating Your Own Types What s the Plan? Topic 1: A Little Review Work with loops to process arrays Write functions to process 2D Arrays in various ways Topic 2: Creating
More informationFirst Programs. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington
First Programs CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 Output System.out.println( ) prints out something. System.out.println is the first
More informationWentworth Institute of Technology. Engineering & Technology WIT COMP1000. Java Basics
WIT COMP1000 Java Basics Java Origins Java was developed by James Gosling at Sun Microsystems in the early 1990s It was derived largely from the C++ programming language with several enhancements Java
More informationJAVA: A Primer. By: Amrita Rajagopal
JAVA: A Primer By: Amrita Rajagopal 1 Some facts about JAVA JAVA is an Object Oriented Programming language (OOP) Everything in Java is an object application-- a Java program that executes independently
More informationCMPSCI 187 / Spring 2015 Hangman
CMPSCI 187 / Spring 2015 Hangman Due on February 12, 2015, 8:30 a.m. Marc Liberatore and John Ridgway Morrill I N375 Section 01 @ 10:00 Section 02 @ 08:30 1 CMPSCI 187 / Spring 2015 Hangman Contents Overview
More informationDM550 Introduction to Programming part 2. Jan Baumbach.
DM550 Introduction to Programming part 2 Jan Baumbach jan.baumbach@imada.sdu.dk http://www.baumbachlab.net COURSE ORGANIZATION 2 Course Elements Lectures: 10 lectures Find schedule and class rooms in online
More informationCONTENTS: What Is Programming? How a Computer Works Programming Languages Java Basics. COMP-202 Unit 1: Introduction
CONTENTS: What Is Programming? How a Computer Works Programming Languages Java Basics COMP-202 Unit 1: Introduction Announcements Did you miss the first lecture? Come talk to me after class. If you want
More informationUML big picture. Perdita Stevens. School of Informatics University of Edinburgh
UML big picture Perdita Stevens School of Informatics University of Edinburgh Plan Whence UML? Parts of UML How it all fits together UML as a language Consistency: what does it mean, do we need it? Defining
More informationFirst Programs. CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington
First Programs CSE 1310 Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1 Output System.out.println( ) prints out something. System.out.println is the first
More informationObject Oriented Programming. Week 1 Part 1 An introduction to Java, Objects and JUnit
Object Oriented Programming Part 1 An introduction to Java, Objects and JUnit Object Oriented Programming with Java 2 Syllabus This class teaches Object Oriented Programming using Java We will focus on
More informationCSE 142 Su 04 Computer Programming 1 - Java. Objects
Objects Objects have state and behavior. State is maintained in instance variables which live as long as the object does. Behavior is implemented in methods, which can be called by other objects to request
More informationhttp://xkcd.com/224/ CS 152: Programming Language Paradigms Prof. Tom Austin San José State University What are some programming languages? Taken from http://pypl.github.io/pypl.html January 2016 Why are
More informationLast Time. University of British Columbia CPSC 111, Intro to Computation Alan J. Hu. Readings
University of British Columbia CPSC 111, Intro to Computation Alan J. Hu Writing a Simple Java Program Intro to Variables Readings Your textbook is Big Java (3rd Ed). This Week s Reading: Ch 2.1-2.5, Ch
More informationOutline. Program development cycle. Algorithms development and representation. Examples.
Outline Program development cycle. Algorithms development and representation. Examples. 1 Program Development Cycle Program development cycle steps: Problem definition. Problem analysis (understanding).
More informationCPSC Tutorial 4 Visual Studio and C#
CPSC 481 - Tutorial 4 Visual Studio and C# (based on previous tutorials by Alice Thudt, Fateme Rajabiyazdi, David Ledo, Brennan Jones, and Sowmya Somanath) Today Intro to Assignment 2 Visual Studio Intro
More informationCS/ENGRD 2110 FALL Lecture 3: Fields, getters and setters, constructors, testing
1 CS/ENGRD 2110 FALL 2016 Lecture 3: Fields, getters and setters, constructors, testing http://courses.cs.cornell.edu/cs2110 CS2110 Announcements 2 A1 on course website Tuesday morning. Piazza: Check course
More information