Software Development 2

Size: px
Start display at page:

Download "Software Development 2"

Transcription

1 Software Development 2 Course Map This module introduces some of the techniques programmers use to create applications and programs. Introduction Computer Principles and Components Software Development Language Rules and Constructs The Java Language Rules and Tools Simple Java Programming Constructs Advanced Java Programming Constructs Objects, Arrays, and Methods Object Orientation Methods Arrays Advanced Object Orientation 2-1

2 Relevance Present the following questions to stimulate the students and get them thinking about the issues and topics presented in this module. They are not expected to know the answers to these questions. The answers to these questions should be of interest to the students, and inspire them to learn the content presented in this module. Discussion It is worthwhile at this point to ask yourself the following questions: How does a programmer design and develop programs? What are typical issues that programmers face when developing programs? What other problems can programming languages solve? How does a programming language actually work? Why are programmers so enthusiastic about the innovation that the Java programming language offers? What makes Java a superior programming language? How programs are developed? Note Programming is a difficult skill to master. It is not realistic to expect to become a competent programmer in just a few days. Much practice is necessary during and after you have completed this course. Emphasize this point! Students do attend expecting to leave as programming experts. 2-2 Java Programming for Non-Programmers

3 Objectives Upon completion of this module, you should be able to: State at least two different programming styles or paradigms Identify the major steps in the software development lifecycle Compare top down software design with bottom up software design Use a simple, common-sense design approach for object-oriented programs Given a simple Java program, identify the main components of the program Compare and contrast the layouts for a procedural and an objectoriented Java program Software Development 2-3

4 Programming Paradigms Definition In Module 1 you saw that compilers are required to convert your source code text files into the machine code that a computer can understand. You also saw that there are different generations of programming language which have been developed to make the programmer s job easier but sometimes at the expense of speed. Programming languages are also split across other groups, those formed by the language generations. These groups concern the paradigm that the language conforms to. The word paradigm means the way in which things happen and are allowed to happen in a context or world. For example, cartoons exist outside of the real world. Things that happen in cartoons would be impossible in the real world. The cartoon world is an alternative paradigm to our own. 2-4 Java Programming for Non-Programmers

5 Programming Paradigms Definition (Continued) Examples of programming paradigms include procedural, object oriented, and logical. The two most important are: Procedural In this paradigm the program is split into independent functions which all have access to common data elements. This is the most common paradigm. C and FORTRAN are procedural languages. Object Orientation (OO) In this paradigm the data is considered to be the most important part of the program. Instead of grouping the functions on the basis of what they do, the data is grouped into objects first and then the methods added appropriately. OO functions are only permitted to work on data within the local object. Java is an object-oriented programming language. The next section outlines the properties of the OO paradigm in more detail. Software Development 2-5

6 Programming Paradigms Object Orientation Imagine walking around a city and deciding you would like a coffee, so you look around and find a cafe. When you enter you do not walk behind the counter and make the coffee for yourself, you sit and ask the waitress who approaches you to prepare your drinks for you. You recognized the cafe as somewhere you could get a coffee. You do not know the manager or the waitress and may never even have been to the city before. When you recognized the cafe you knew you would be able to buy a drink there. This is an object-oriented way of thinking. Each object such as the cafe or the waitress has characteristics that make it recognizable, despite the distinguishing marks that also make it unique. It is just one instance of the group or class of objects called Cafe. 2-6 Java Programming for Non-Programmers

7 Programming Paradigms Object Orientation (Continued) OO source code files contain classes, the templates that will be used to build objects. At runtime the program builds enough objects from each class to solve a particular version of the problem. Objects have to be able to store the information that makes them unique. Variable declarations are placed inside the class definitions. When objects are built from the class they each get a different copy of those variables. Objects also need to perform operations on their attributes. Methods (functions) which are declared within the class definitions are also associated with each object of that class. Consider a class representing a bank account. It would require variables for transaction details, current balance, overdraft limit, interest rate, and so on. It would also require methods to pay money into the account, withdraw money, print statements, print balances, access personal information, and so on each task expected or required of an account would be represented as a method of that class. At runtime the Account class could be used to build separate Account objects for each of the bank accounts in your program. Each would be discrete and separate from the others, sharing a description and definition but not attributes. Emphasize the role of methods. Most people grasp the reason for classes, objects and variables, but think procedurally when considering the methods... stress their importance using an example (such as the account above). Use this opportunity to introduce concepts such as private and encapsulation as well. Again, it emphasizes the role of the method. But assess the readiness of the group first. Software Development 2-7

8 Product Development When you develop programs you must consider the requirements of your customer. You will always be writing the program for someone, even if that person is yourself, and unless the software does what your customer wants it to do, it will not be acceptable. There are many ways of managing the Software Development Lifecycle so that customers feel involved throughout the process and are constantly agreeing that you are producing exactly what they want. 2-8 Java Programming for Non-Programmers

9 Product Development Methodologies are all very similar to each other, generally implementing the following steps: 1. Requirements Gathering and Analysis 2. System Design 3. Construction/Implementation 4. Testing 5. Customer/User Testing 6. Maintenance One methodology that produces the quickest response (either positive or negative) from the customer is rapid prototyping or RAD (rapid application development). This involves very quickly producing a version of the product that looks and feels as much like the final version as is possible, but which obviously does not have all the functionality. The user can study the results and actually show you where it is wrong or needs adding. It will also identify to the customer those areas of the specification that were wrong or ambiguous. Rapid prototyping is especially well suited to the development of OO products because each part of a product will consist of one or more objects. It is not mandatory to have all the objects there simply to show the customer the RAD version. The Java programming language in particular allows for a very quick development of graphical user interfaces (GUIs), even without the aid of a GUI development tool. Software Development 2-9

10 Software Development Top Down and Bottom up Techniques The previous section outlines the need for product development methodologies. It is still necessary to use structured techniques within the product development cycle, however, especially at the software development stages. Many of the techniques that have been developed over the years are useful only within a particular programming paradigm. Two of the simplest techniques that can be applied to any paradigm are top down and bottom up. Top down Start by thinking of the overall problem and attempt to break it down into smaller sections. Then consider each of these in the same way until you have a hierarchy of all the components of your problem and how they interact Java Programming for Non-Programmers

11 Software Development Top Down and Bottom up Techniques (Continued) Bottom up Start by thinking of all the smallest components that you know will be required to solve the problem. Group them into larger components until you have a single solution to the problem. These methods are informal and flexible enough to permit their use only when and where appropriate. Designing OO software is made easier if you use a combination of them both, a technique that will be referred to as meet in the middle. Software Development 2-11

12 Software Development Meet in the Middle In the OO paradigm you have to analyze and design three types of components in a system: Classes The highest level building blocks of the solution, made up of: Attributes The small values that together make up a class. Operations The functions that operate on the class. Now consider the design of a Car object. Using a top down approach you could create a list containing Car, then Door, Engine, Wheel, Seats, and so on. Using a bottom up approach you might list numberofwheels, typeofseat, enginecapacity, turnleft, turnright, brake, accelerate and so on Java Programming for Non-Programmers

13 Software Development Meet in the Middle (Continued) The top down list specifies objects, so you must now write classes to define each of them. But what attributes are you interested in for each one? The bottom up list contains the attributes and methods for the system. Now you have to associate elements of the second list with items from the first to create complete class definitions. Any remaining classes without attributes or any methods and attributes not assigned to a class suggest errors or omissions in the design. Software Development 2-13

14 Primary Components of a Java Program Because Java is an object-oriented programming language the primary components of a program are: Objects Objects are instances of classes, which are defined in Java source code files. Objects contain variables and methods that are declared inside the class definitions. Attributes Variables placed inside the class definitions make the attributes of the objects. These can either be simple variables called primitives (such as numbers and characters) or references to other objects. Methods Objects contain their functionality as well as their attributes. Methods are functions that can be applied to the data within an object. There should be sufficient methods for each operation an object is expected to perform Java Programming for Non-Programmers

15 Primary Components of a Java Program When you design a class you add attributes which adequately and accurately model those objects within your application. Returning to the cafe example from a previous section, the Cafe class would probably contain text strings for the name, address, phone number, and so on, of the cafe and the number of tables it has, as well as the number of people currently in the cafe, and a list of the different drinks and dishes you can buy there. It would not be important to model the color of the walls or the number of windows, unless you were interested in such things. The content of a class depends on the problem you are solving and any preferences of your own you wish to add. Software Development 2-15

16 Group Exercise Discussion Use the meet in the middle methodology to analyze the objects and primary attributes and methods for a reasonably simple everyday task. It is not important to completely define each class. Then use the classes to outline the steps you would take to perform the task. Suggested tasks include: Making a cup of tea or coffee Making a sandwich Wrapping a gift Changing a car wheel Making your instructor walk across the room, considering his or her body to comprise several necessary but discrete objects (arms, legs, and so on). This exercise is intended to show students a little more clearly how the MITM technique can be used in real life, and how complex a seemingly simple task can be. Keep the discussion flowing freely. Allow the group to make some assumptions about there being a tap for water, that the kettle works, and so on, but stress the assumptions are to keep the exercise as simple as possible. They must realize the complexity of it all. At the end of the exercise you should have a white-board listing a sequence of statements developed by the group. Use this list to emphasize that a program (even an OO one) is basically a sequence of statements processed in order. Also emphasize that the two most basic programming tools are decisions (do I want milk or cream, do I want sugar, and so on) and loops to repeat certain steps (adding 0, 1, 2 or more sugars, loosening all the nuts on the wheel, or whatever). Also take the opportunity to show where similar or repeated (but not looped) statements could be re-written as methods to save time and processing. The students should finish this exercise knowing that in a very basic way programming skills are very simple (statements, sequences, decisions and loops, with methods to help) and that they will learn all of these skills before the end of the course Java Programming for Non-Programmers

17 Procedural and OO Programs It is possible to write procedural programs as well as OO ones in the Java programming language. An OO program uses objects to store and manipulate values while a procedural one stores them locally in the functions themselves. The following sections introduce the minimum Java application in both procedural and OO form. The minimum application will print a message on the screen. Software Development 2-17

18 Procedural and OO Programs A Minimum Procedural Java Program 1 class MinProcApp 2 { 3 public static void main (String args[]) 4 { 5 System.out.println("My first program"); 6 } 7 } Line 1 declares a class called MinProcApp. class is keyword; all keywords are lower case. MinProcApp is the name of the class. Lines 2 and 7 have braces to mark the beginning and end of the class. Line 3 declares a method called main. The whole of this line is mandatory the keywords public, static and void will be explained later. All Java applications have a main method declared exactly in this way. It is the starting point of the program, the first method that will be called. Lines 4 and 6 have braces to mark the beginning and end of the main method. Line 5 prints the message "My first program". All the work takes place in the main method, which is the way many procedural programs work Java Programming for Non-Programmers

19 Procedural and OO Programs A Minimum OO Java Program 1 class MinOOApp 2 { 3 public static void main (String args[]) 4 { 5 ObjectOne one = new ObjectOne(); 6 one.go(); 7 } 8 } 9 10 class ObjectOne 11 { 12 public void go() 13 { 14 System.out.println("My first OO program"); 15 } 16 } Lines 1, 2 and 8 are the declaration and braces for a class called MinOOApp. Lines 3, 4 and 7 are the declaration and braces of the main method, exactly as in the minimum procedural application. Line 5 creates an instance of the other class ObjectOne. The syntax of this line will be explained in a later module. Line 6 invokes the go method of the object via its reference one. Lines 10, 11 and 16 are the declaration and braces for another class, called ObjectOne. Lines 12, 13 and 15 are the declaration and braces for a method called go. Line 14 prints out the message. Software Development 2-19

20 Exercise: Creating the Minimum Example Programs Exercise objective The objective of this exercise is to create Java source files for the programs presented in this module, and then compile and run them. Tasks 1. Change directory to the MyApps directory. 2. Create a subdirectory called MinApps. 3. Change directory to the new MinApps directory. 4. Type both the minimum programs into text files in that directory. Call the first file MinProcApp.java. Call the second file MinOOApp.java. 5. Compile and run both programs. To compile a file use the command: javac filename.java where filename is either MinProcApp or MinOOApp, as appropriate. To run the program, type the command: java classname where classname is the name of the class that contains the main method Java Programming for Non-Programmers

21 Exercise: Creating the Minimum Example Programs Exercise Summary Discussion Take a few minutes to discuss what experiences, issues, or discoveries you had during the lab exercises. Manage the discussion here based on the time allowed for this module, which was given in the About This Course module. If you find you do not have time to spend on discussion, then just highlight the key concepts students should have learned from the lab exercise. Experiences Ask students what their overall experiences with this exercise have been. You may want to go over any trouble spots or especially confusing areas at this time. Interpretations Ask students to interpret what they observed during any aspects of this exercise. Conclusions Have students articulate any conclusions they reached as a result of this exercise experience. Applications Explore with students how they might apply what they learned in this exercise to situations at their work place. Software Development 2-21

22 Check Your Progress Before continuing on to the next module, check that you are able to accomplish or answer the following: State at least two different programming styles or paradigms Identify the major steps in the software development lifecycle Compare top down software design with bottom up software design Use a simple, common-sense design approach for object-oriented programs Given a simple Java program, identify the main components of the program Compare and contrast the layouts for a procedural and an objectoriented Java program 2-22 Java Programming for Non-Programmers

23 Think Beyond Now that you are familiar with several approaches to software design, what are the rules, syntax, and constructs for writing programs in the Java programming language? Software Development 2-23

24 2-24 Java Programming for Non-Programmers

Computer Principles and Components 1

Computer Principles and Components 1 Computer Principles and Components 1 Course Map This module provides an overview of the hardware and software environment being used throughout the course. Introduction Computer Principles and Components

More information

Simple Java Programming Constructs 4

Simple Java Programming Constructs 4 Simple Java Programming Constructs 4 Course Map In this module you will learn the basic Java programming constructs, the if and while statements. Introduction Computer Principles and Components Software

More information

CS112 Lecture: Defining Instantiable Classes

CS112 Lecture: Defining Instantiable Classes CS112 Lecture: Defining Instantiable Classes Last revised 2/3/05 Objectives: 1. To describe the process of defining an instantiable class 2. To discuss public and private visibility modifiers. Materials:

More information

CPS122 Lecture: Defining a Class

CPS122 Lecture: Defining a Class Objectives: CPS122 Lecture: Defining a Class last revised January 14, 2016 1. To introduce structure of a Java class 2. To introduce the different kinds of Java variables (instance, class, parameter, local)

More information

Basic Programming Language Syntax

Basic Programming Language Syntax Java Created in 1990 by Sun Microsystems. Free compiler from Sun, commercial from many vendors. We use free (Sun) Java on UNIX. Compiling and Interpreting...are processes of translating a high-level programming

More information

Fundamentals of Programming. By Budditha Hettige

Fundamentals of Programming. By Budditha Hettige Fundamentals of Programming By Budditha Hettige Overview Machines solve problems? How Machine Solve a Problem? What is Programming? What are Programming Languages Compilers Tools and Tips for Programming

More information

CS112 Lecture: Defining Classes. 1. To describe the process of defining an instantiable class

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

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

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 2: SEP. 8TH INSTRUCTOR: JIAYIN WANG 1 Notice Class Website http://www.cs.umb.edu/~jane/cs114/ Reading Assignment Chapter 1: Introduction to Java Programming

More information

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved. Assoc. Prof. Dr. Marenglen Biba Laboratory Session: Exercises on classes Analogy to help you understand classes and their contents. Suppose you want to drive a car and make it go faster by pressing down

More information

1. Write two major differences between Object-oriented programming and procedural programming?

1. Write two major differences between Object-oriented programming and procedural programming? 1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:

More information

Scheme of work Cambridge International AS & A Level Computing (9691)

Scheme of work Cambridge International AS & A Level Computing (9691) Scheme of work Cambridge International AS & A Level Computing (9691) Unit 2: Practical programming techniques Recommended prior knowledge Students beginning this course are not expected to have studied

More information

Design First ITS Instructor Tool

Design First ITS Instructor Tool Design First ITS Instructor Tool The Instructor Tool allows instructors to enter problems into Design First ITS through a process that creates a solution for a textual problem description and allows for

More information

This 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. 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 information

STUDENT LESSON A5 Designing and Using Classes

STUDENT LESSON A5 Designing and Using Classes STUDENT LESSON A5 Designing and Using Classes 1 STUDENT LESSON A5 Designing and Using Classes INTRODUCTION: This lesson discusses how to design your own classes. This can be the most challenging part of

More information

APCS Semester #1 Final Exam Practice Problems

APCS Semester #1 Final Exam Practice Problems Name: Date: Per: AP Computer Science, Mr. Ferraro APCS Semester #1 Final Exam Practice Problems The problems here are to get you thinking about topics we ve visited thus far in preparation for the semester

More information

STUDENT LESSON A1 Introduction to Object-Oriented Programming (OOP)

STUDENT LESSON A1 Introduction to Object-Oriented Programming (OOP) STUDENT LESSON A1 Introduction to Object-Oriented Programming (OOP) Java Curriculum for AP Computer Science, Student Lesson A1 1 STUDENT LESSON A1 Introduction to Object-Oriented Programming (OOP) INTRODUCTION:

More information

3Lesson 3: Web Project Management Fundamentals Objectives

3Lesson 3: Web Project Management Fundamentals Objectives 3Lesson 3: Web Project Management Fundamentals Objectives By the end of this lesson, you will be able to: 1.1.11: Determine site project implementation factors (includes stakeholder input, time frame,

More information

by Pearson Education, Inc. All Rights Reserved. 2

by Pearson Education, Inc. All Rights Reserved. 2 Suppose you want to drive a car and make it go faster by pressing down on its accelerator pedal. Before you can drive a car, someone has to design it and build it. A car typically begins as engineering

More information

CPS122 Lecture: Course Intro; Introduction to Object-Orientation

CPS122 Lecture: Course Intro; Introduction to Object-Orientation Objectives: CPS122 Lecture: Course Intro; Introduction to Object-Orientation 1. To introduce the course requirements and procedures. 2. To introduce fundamental concepts of OO: object, class Materials:

More information

CS 251 Intermediate Programming Methods and Classes

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

More information

CS 251 Intermediate Programming Methods and More

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

More information

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved. Java How to Program, 10/e Education, Inc. All Rights Reserved. Each class you create becomes a new type that can be used to declare variables and create objects. You can declare new classes as needed;

More information

A Walkthrough of the Learning Aids

A Walkthrough of the Learning Aids x Walkthrough A Walkthrough of the Learning Aids The pedagogical elements in this book work together to focus on and reinforce key concepts and fundamental principles of programming, with additional tips

More information

Microsoft Windows PowerShell v2 For Administrators

Microsoft Windows PowerShell v2 For Administrators Microsoft Windows PowerShell v2 For Administrators Course 50414 5 Days Instructor-led, Hands-on Introduction This four-day instructor-led course provides students with the knowledge and skills to leverage

More information

COMP 110 Project 1 Programming Project Warm-Up Exercise

COMP 110 Project 1 Programming Project Warm-Up Exercise COMP 110 Project 1 Programming Project Warm-Up Exercise Creating Java Source Files Over the semester, several text editors will be suggested for students to try out. Initially, I suggest you use JGrasp,

More information

Computer Science Lab Exercise 1

Computer Science Lab Exercise 1 1 of 10 Computer Science 127 - Lab Exercise 1 Introduction to Excel User-Defined Functions (pdf) During this lab you will experiment with creating Excel user-defined functions (UDFs). Background We use

More information

CS112 Lecture: Extending Classes and Defining Methods

CS112 Lecture: Extending Classes and Defining Methods Objectives: CS112 Lecture: Extending Classes and Defining Methods Last revised 1/9/04 1. To introduce the idea of extending existing classes to add new methods 2. To introduce overriding of inherited methods

More information

Chapter 2 Author Notes

Chapter 2 Author Notes Chapter 2 Author Notes Good Programming Practice 2.1 Every program should begin with a comment that explains the purpose of the program, the author and the date and time the program was last modified.

More information

Full file at

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

SharePoint 2013 End User

SharePoint 2013 End User SharePoint 2013 End User Course 55031A; 3 Days, Instructor-led Course Description This SharePoint 2013 End User class is for end users working in a SharePoint 2013 environment. The course teaches SharePoint

More information

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA

TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA 1 TOPIC 2 INTRODUCTION TO JAVA AND DR JAVA Notes adapted from Introduction to Computing and Programming with Java: A Multimedia Approach by M. Guzdial and B. Ericson, and instructor materials prepared

More information

COMP6471 WINTER User-Centered Design

COMP6471 WINTER User-Centered Design COMP6471 WINTER 2003 User-Centered Design Instructor: Shahriar Ameri, Ph.D. Student: Pedro Maroun Eid, ID# 5041872. Date of Submission: Monday, March 10, 2003. (Week 9) Outline Outline... 2 ABSTRACT...3

More information

Mega International Commercial bank (Canada)

Mega International Commercial bank (Canada) Mega International Commercial bank (Canada) Policy and Procedures for Clear Language and Presentation Est. Sep. 12, 2013 I. Purposes: The Mega ICB (C) distributes a limited range of retail banking services,

More information

Lecture 1: Introduction to Java

Lecture 1: Introduction to Java Accelerating Information Technology Innovation http://aiti.mit.edu Lecture 1: Introduction to Java AITI Nigeria Summer 2012 University of Lagos. Agenda First Lab.. Class is Hands on remember? Recap Previously

More information

Introduction to Computers and Java

Introduction to Computers and Java Walter Savitch Frank M. Carrano Introduction to Computers and Java Chapter 1 Objectives Overview computer hardware and software Introduce program design and objectoriented programming Overview the java

More information

Mathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10

Mathematics/Science Department Kirkwood Community College. Course Syllabus. Computer Science CSC142 1/10 Mathematics/Science Department Kirkwood Community College Course Syllabus Computer Science CSC142 Bob Driggs Dean Cate Sheller Instructor 1/10 Computer Science (CSC142) Course Description Introduces computer

More information

Computer Science II. OO Programming Classes Scott C Johnson Rochester Institute of Technology

Computer Science II. OO Programming Classes Scott C Johnson Rochester Institute of Technology Computer Science II OO Programming Classes Scott C Johnson Rochester Institute of Technology Outline Object-Oriented (OO) Programming Review Initial Implementation Constructors Other Standard Behaviors

More information

C# Programming for Developers Course Labs Contents

C# Programming for Developers Course Labs Contents C# Programming for Developers Course Labs Contents C# Programming for Developers...1 Course Labs Contents...1 Introduction to C#...3 Aims...3 Your First C# Program...3 C# The Basics...5 The Aims...5 Declaring

More information

Chapter 8: Creating Your Own Type Classes

Chapter 8: Creating Your Own Type Classes Chapter 8: Creating Your Own Type Classes What we will learn: Object-oriented programming What is a class How to create a class Assigning values to a class What you need to know before: Data types Methods

More information

Client Code - the code that uses the classes under discussion. Coupling - code in one module depends on code in another module

Client Code - the code that uses the classes under discussion. Coupling - code in one module depends on code in another module Basic Class Design Goal of OOP: Reduce complexity of software development by keeping details, and especially changes to details, from spreading throughout the entire program. Actually, the same goal as

More information

Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently.

Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. Project #1 rev 2 Computer Science 2334 Fall 2013 This project is individual work. Each student must complete this assignment independently. User Request: Create a simple magazine data system. Milestones:

More information

CAMERA User s Guide. They are most easily launched from the main menu application. To do this, all the class files must reside in the same directory.

CAMERA User s Guide. They are most easily launched from the main menu application. To do this, all the class files must reside in the same directory. CAMERA User s Guide 1 Quick Start CAMERA is a collection of concise, intuitive and visually inspiring workbenches for cache mapping schemes and virtual memory. The CAMERA workbenches are standalone applications

More information

[MS10553]: Fundamentals of XAML and Microsoft Expression Blend

[MS10553]: Fundamentals of XAML and Microsoft Expression Blend [MS10553]: Fundamentals of XAML and Microsoft Expression Blend Length : 3 Days Audience(s) : Developers Level : 200 Technology : Microsoft Expression Blend Delivery Method : Instructor-led (classroom)

More information

Chapter 7 Classes & Objects, Part B

Chapter 7 Classes & Objects, Part B Chapter 7 Classes & Objects, Part B These note present Dog simulation example that shows how we go about OO modeling. A number of new things are introduced. They also present the Person > BirthDate example.

More information

STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING

STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING OBJECT ORIENTED PROGRAMMING STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING 1. Object Oriented Programming Paradigms 2. Comparison of Programming Paradigms 3. Basic Object Oriented Programming

More information

Algorithms and Flowcharts

Algorithms and Flowcharts UNIT 2 Chapter 1 Algorithms and Flowcharts After studying this lesson, the students will be able to understand the need of Algorithm and Flowcharts; solve problems by using algorithms and flowcharts; get

More information

Exsys RuleBook Selector Tutorial. Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America.

Exsys RuleBook Selector Tutorial. Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America. Exsys RuleBook Selector Tutorial Copyright 2004 EXSYS Inc. All right reserved. Printed in the United States of America. This documentation, as well as the software described in it, is furnished under license

More information

Programming Assignment IV Due Monday, November 8 (with an automatic extension until Friday, November 12, noon)

Programming Assignment IV Due Monday, November 8 (with an automatic extension until Friday, November 12, noon) Programming Assignment IV Due Monday, November 8 (with an automatic extension until Friday, November 12, noon) Thus spake the master programmer: A well-written program is its own heaven; a poorly written

More information

Introduction to Computers and Java

Introduction to Computers and Java Introduction to Computers and Java Chapter 1 Objectives Overview of computer hardware and software, programs and compilers Introduce program design and objectoriented programming Overview of the Java programming

More information

(Movement - Synthesis) Improve existing programming skills by developing much larger and more complex programs than in previous classes.

(Movement - Synthesis) Improve existing programming skills by developing much larger and more complex programs than in previous classes. Location MWF 1205-1255 Klaus 1443 Class Objective Purpose: CS2340 takes students who know an object-oriented language, and focuses on getting them to use that language in a true object-oriented style.

More information

An Overview of Visual Basic.NET: A History and a Demonstration

An Overview of Visual Basic.NET: A History and a Demonstration OVERVIEW o b j e c t i v e s This overview contains basic definitions and background information, including: A brief history of programming languages An introduction to the terminology used in object-oriented

More information

Introduction to Java. Java Programs Classes, Methods, and Statements Comments Strings Escape Sequences Identifiers Keywords

Introduction to Java. Java Programs Classes, Methods, and Statements Comments Strings Escape Sequences Identifiers Keywords Introduction to Java Java Programs Classes, Methods, and Statements Comments Strings Escape Sequences Identifiers Keywords Program Errors Syntax Runtime Logic Procedural Decomposition Methods Flow of Control

More information

COMP 250 Winter 2011 Reading: Java background January 5, 2011

COMP 250 Winter 2011 Reading: Java background January 5, 2011 Almost all of you have taken COMP 202 or equivalent, so I am assuming that you are familiar with the basic techniques and definitions of Java covered in that course. Those of you who have not taken a COMP

More information

Hints for Organizers of a Scientific Conference by Reinhard Krause Rehberg (August 2008)

Hints for Organizers of a Scientific Conference by Reinhard Krause Rehberg (August 2008) Hints for Organizers of a Scientific Conference by Reinhard Krause Rehberg (August 2008) Preparation of the Conference Have the webpage as early as possible online. Tell the link to the people responsible

More information

Preface A Brief History Pilot Test Results

Preface A Brief History Pilot Test Results Preface A Brief History In Fall, 2005, Wanda Dann and Steve Cooper, originators of the Alice approach for introductory programming (in collaboration with Randy Pausch), met with Barb Ericson and Mark Guzdial,

More information

Introduction to Computers and Java

Introduction to Computers and Java Introduction to Computers and Java Chapter 1 Chapter 1 1 Objectives overview computer hardware and software introduce program design and object-oriented programming overview the Java programming language

More information

6.001 Notes: Section 8.1

6.001 Notes: Section 8.1 6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything

More information

C++ & Object Oriented Programming Concepts The procedural programming is the standard approach used in many traditional computer languages such as BASIC, C, FORTRAN and PASCAL. The procedural programming

More information

CS 1044 Program 6 Summer I dimension ??????

CS 1044 Program 6 Summer I dimension ?????? Managing a simple array: Validating Array Indices Most interesting programs deal with considerable amounts of data, and must store much, or all, of that data on one time. The simplest effective means for

More information

Object Oriented Software Design

Object Oriented Software Design Object Oriented Software Design Introduction to Object Oriented Programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 23, 2010 G. Lipari (Scuola Superiore

More information

Updated: 2/14/2017 Page 1 of 6

Updated: 2/14/2017 Page 1 of 6 MASTER SYLLABUS 2017-2018 A. Academic Division: Business, Industry, and Technology B. Discipline: Engineering Technology C. Course Number and Title: ENGR1910 Engineering Programming D. Course Coordinator:

More information

[MS55199]: SharePoint 2016 End User Training. Audience Profile This course is intended for new and existing users of SharePoint.

[MS55199]: SharePoint 2016 End User Training. Audience Profile This course is intended for new and existing users of SharePoint. [MS55199]: SharePoint 2016 End User Training Length : 3 Days Audience(s) : Information Workers Level : 100 Technology : Microsoft SharePoint Server Delivery Method : Instructor-led (Classroom) Course Overview

More information

Introduction to Computers and Java. Objectives. Outline. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich.

Introduction to Computers and Java. Objectives. Outline. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich. Introduction to Computers and Java Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch 2008 W. Savitch, F.M. Carrano, Pearson Prentice Hall Objectives! Overview computer

More information

Introduction to Computers and Java

Introduction to Computers and Java Introduction to Computers and Java Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch 2008 W. Savitch, F.M. Carrano, Pearson Prentice Hall Objectives! Overview computer

More information

Introduction to Computers and Java

Introduction to Computers and Java Introduction to Computers and Java Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch 2008 W. Savitch, F.M. Carrano, Pearson Prentice Hall Objectives Overview computer

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University Introduction to Computers and Programming Languages CS 180 Sunil Prabhakar Department of Computer Science Purdue University 1 Objectives This week we will study: The notion of hardware and software Programming

More information

Design Principles for a Beginning Programming Language

Design Principles for a Beginning Programming Language Design Principles for a Beginning Programming Language John T Minor and Laxmi P Gewali School of Computer Science University of Nevada, Las Vegas Abstract: We consider the issue of designing an appropriate

More information

Animator Friendly Rigging Part 1

Animator Friendly Rigging Part 1 Animator Friendly Rigging Part 1 Creating animation rigs which solve problems, are fun to use, and don t cause nervous breakdowns. - http://jasonschleifer.com/ - 1- CONTENTS I. INTRODUCTION... 4 What is

More information

Topic 1: Programming concepts

Topic 1: Programming concepts Topic 1: Programming concepts Learning Outcomes Upon successful completion of this topic you will be able to: identify stages of a program development implement algorithm design techniques break down a

More information

Java 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, 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 information

Software Categories. Word Processing. Application Software. Software Restrictions. Visual Metaphors: working in familiar ways

Software Categories. Word Processing. Application Software. Software Restrictions. Visual Metaphors: working in familiar ways PLS 021 LECTURE 14 Word Processing Elements of text Content vs. Format Outlining Style formatting Adding pictures, tables, objects Software Categories Categories: Commercial Pay first Shareware Try then

More information

CS112 Lecture: Introduction to Karel J. Robot

CS112 Lecture: Introduction to Karel J. Robot CS112 Lecture: Introduction to Karel J. Robot Last revised 1/17/08 Objectives: 1. To introduce Karel J. Robot as an example of an object-oriented system. 2. To explain the mechanics of writing simple Karel

More information

Intro to Java Programming, Comprehensive Version, Global Edition

Intro to Java Programming, Comprehensive Version, Global Edition Intro to Java Programming, Comprehensive Version, Global Edition LIANG Click here if your download doesn"t start automatically Intro to Java Programming, Comprehensive Version, Global Edition LIANG Intro

More information

Introduction to Computers and Java. Objectives. Outline. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich.

Introduction to Computers and Java. Objectives. Outline. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich. Introduction to Computers and Java Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch 2008 W. Savitch, F.M. Carrano, Pearson Prentice Hall Objectives Overview computer

More information

Lecture 1: Overview of Java

Lecture 1: Overview of Java Lecture 1: Overview of Java What is java? Developed by Sun Microsystems (James Gosling) A general-purpose object-oriented language Based on C/C++ Designed for easy Web/Internet applications Widespread

More information

Object-Oriented Programming Concepts

Object-Oriented Programming Concepts Object-Oriented Programming Concepts Real world objects include things like your car, TV etc. These objects share two characteristics: they all have state and they all have behavior. Software objects are

More information

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

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

More information

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011).

Course materials Reges, Stuart, and Stepp, Martin. Building Java Programs: A Back to Basics Approach. 2d ed. (Boston: Addison-Wesley, 2011). AP Computer Science A Advanced Placement Computer Science A is a fast-paced course equivalent to a college introductory programming class. Students will learn about the exciting kinds of problems tackled

More information

AutoCAD 2009 Certification Exam Guide

AutoCAD 2009 Certification Exam Guide AutoCAD 2009 Certification Exam Guide AutoCAD 2009 Certification Exam Guide Preparation Guide for AutoCAD 2009 Certified Associate and AutoCAD 2009 Certified Professional Certification Exams This guide

More information

Overview. Lab 5 Methods and Parameters

Overview. Lab 5 Methods and Parameters Lab 5 Methods and Parameters Overview At this point in the course, you should have a set of skills which allow you to create functionality at the level of using control structures like if statements and

More information

Process of Interaction Design and Design Languages

Process of Interaction Design and Design Languages Process of Interaction Design and Design Languages Process of Interaction Design This week, we will explore how we can design and build interactive products What is different in interaction design compared

More information

Architectural Engineering Senior Thesis CPEP Webpage Guidelines and Instructions

Architectural Engineering Senior Thesis CPEP Webpage Guidelines and Instructions Architectural Engineering Senior Thesis CPEP Webpage Guidelines and Instructions Your Thesis Drive (T:\) Each student is allocated space on the Thesis drive. Any files on this drive are accessible from

More information

Object Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz

Object Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz Object Oriented Concepts and Programming (CSC244) By Dr. Tabbasum Naz tabbasum.naz@ciitlahore.edu.pk Course Outline Course Title Object Oriented Concepts and Course Code Credit Hours 4(3,1) Programming

More information

CPSC 150 Laboratory Manual. Lab 1 Introduction to Program Creation

CPSC 150 Laboratory Manual. Lab 1 Introduction to Program Creation CPSC 150 Laboratory Manual A Practical Approach to Java, jedit & WebCAT Department of Physics, Computer Science & Engineering Christopher Newport University Lab 1 Introduction to Program Creation Welcome

More information

Scope and Sequence: CCNA Discovery

Scope and Sequence: CCNA Discovery Scope and Sequence: CCNA Discovery Last updated June 19, 2009 Target Audience The Cisco CCNA Discovery curriculum is primarily designed for Cisco Networking Academy students who are seeking entry-level

More information

Defining Classes and Methods

Defining Classes and Methods Defining Classes and Methods Chapter 5 Modified by James O Reilly Class and Method Definitions OOP- Object Oriented Programming Big Ideas: Group data and related functions (methods) into Objects (Encapsulation)

More information

Assignment Marking Criteria

Assignment Marking Criteria Assignment Marking Criteria Analysis Your analysis documentation must meet the following criteria: All program inputs, processing, and outputs. Each input and output must be given a name and description

More information

Cpt S 122 Data Structures. Introduction to C++ Part II

Cpt S 122 Data Structures. Introduction to C++ Part II Cpt S 122 Data Structures Introduction to C++ Part II Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Topics Objectives Defining class with a member function

More information

9/11/08 (c) 2008 Matthew J. Rutherford Class (c) 2008 Matthew J. Rutherford Class

9/11/08 (c) 2008 Matthew J. Rutherford Class (c) 2008 Matthew J. Rutherford Class 1 2 3 4 5 6 Walter Savitch Frank M. Carrano Introduction to Computers and Java Chapter 1 ISBN 0136130887 2007 Pearson Education, Inc., Upper Saddle River, NJ. All Rights Reserved 7 Hardware and Software

More information

Soda Machine Laboratory

Soda Machine Laboratory Soda Machine Laboratory Introduction This laboratory is intended to give you experience working with multiple queue structures in a familiar real-world setting. The given application models a soda machine

More information

This course is designed for anyone who needs to learn how to write programs in Python.

This course is designed for anyone who needs to learn how to write programs in Python. Python Programming COURSE OVERVIEW: This course introduces the student to the Python language. Upon completion of the course, the student will be able to write non-trivial Python programs dealing with

More information

CPS109 Lab 1. i. To become familiar with the Ryerson Computer Science laboratory environment.

CPS109 Lab 1. i. To become familiar with the Ryerson Computer Science laboratory environment. CPS109 Lab 1 Source: Partly from Big Java lab1, by Cay Horstmann. Objective: i. To become familiar with the Ryerson Computer Science laboratory environment. ii. To obtain your login id and to set your

More information

Welcome Application. Introducing the Visual Studio.NET IDE. Objectives. Outline

Welcome Application. Introducing the Visual Studio.NET IDE. Objectives. Outline 2 T U T O R I A L Objectives In this tutorial, you will learn to: Navigate Visual Studio.NET s Start Page. Create a Visual Basic.NET solution. Use the IDE s menus and toolbars. Manipulate windows in the

More information

CSEN401 Computer Programming Lab. Topics: Introduction and Motivation Recap: Objects and Classes

CSEN401 Computer Programming Lab. Topics: Introduction and Motivation Recap: Objects and Classes CSEN401 Computer Programming Lab Topics: Introduction and Motivation Recap: Objects and Classes Prof. Dr. Slim Abdennadher 16.2.2014 c S. Abdennadher 1 Course Structure Lectures Presentation of topics

More information

CS 170 Java Programming 1. Week 12: Creating Your Own Types

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

The Open Group SOA Ontology Technical Standard. Clive Hatton

The Open Group SOA Ontology Technical Standard. Clive Hatton The Open Group SOA Ontology Technical Standard Clive Hatton The Open Group Releases SOA Ontology Standard To Increase SOA Adoption and Success Rates Ontology Fosters Common Understanding of SOA Concepts

More information

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

(800) Toll Free (804) Fax   Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days Course Description This course introduces the Java programming language and how to develop Java applications using Eclipse 3.0. Students learn the syntax of the Java programming language, object-oriented

More information

CSCI 262 C++ Style Guide

CSCI 262 C++ Style Guide CSCI 262 C++ Style Guide Christopher Painter-Wakefield and Mark Baldwin and Alex Anderson Last updated: 1/18/2018 Modified from: C++ Student Coding Standards Mark Baldwin Version 1.02 5/21/2013 2012 Mark

More information

Teachers Manual for Creating a Website with WordPress

Teachers Manual for Creating a Website with WordPress Teachers Manual for Creating a Website with WordPress ISBN 978 90 5905 422 6 2 1. Introduction This course manual assumes a lesson structure consisting of nine points. These points have been divided into

More information