Mathematics for Computer Graphics - Lecture 8

Size: px
Start display at page:

Download "Mathematics for Computer Graphics - Lecture 8"

Transcription

1 Mathematics for Computer Graphics - Lecture 8 Dr. Philippe B. Laval Kennesaw State University September 22, 2003 Abstract This document is about our rst project: the creation of a 3D vector class. It gives the speci cations for this class. It also gives some programming techniques students should follow. 1 Developing a 3D Vector Class Recall that one of our goals in this class is to develop a small software package which will illustrate some of the techniques involved with 3D graphics. We will build this package in stages. The smallest building block of this package is 3D vectors. We begin by implementing them. 1.1 Goal The goal of this rst project is to develop a 3D vector class. We will also develop a test program to test our class. Though the nal software package will be implemented as an applet, this rst project can be implemented as a java application. See below for the di erence between the two. 1.2 Programming Techniques to Follow Java Applets versus Java Applications Usually, when a program written in most programming languages such as C, C++, pascal, Fortran,... is compiled, an executable is produced. The executable code is written in machine dependent code a particular machine can understand. To run the program, one then either types its name, or double clicks on it. Java is an interpreted language. When a java program is compiled, a class le is produced. A class le is written in machine independent code. A class le cannot be run by itself. It can only be run inside the java runtime environment. Each machine type has its own version of the java runtime environment. They all can run the same class le. A java class le can be run in one of two ways. The method used will be determined by whether we have a java applet or a java application. 1

2 A java applet runs inside a web browser. When a java applet is developed, one must also write an html le which will call the applet. Many java IDE s do this for you. For this to work, the web browser must implement the Java Virtual machine. This is the case for many browsers including Netscape. For Internet Explorer, the situation is more delicate. Microsoft is no longer shipping the Java Virtual Machine (Java VM). It can be downloaded from In contrast, a java application runs alone, like any other program. Well, almost like any other program. Since it has to be run inside the java runtime environment, the java runtime environment is invoked, with the class le to run as a parameter. For example, to run a class le named myprogram.class, one would type java myprogram. There are also other di erences between java applets and applications. Here are a few outlined here. An important one deals with security. Since a java applet will be more than likely run across the internet, its access to the local le system is highly restricted. A java application must have a method called main, a java applet does not Good Programming Techniques Here is a list of programming tips each student should follow: A Java application or applet is usually made of several classes and a main class (the main class must have the same name as the program you are creating. If you create a program called test1, the main class will be called test1). The various classes implement the functionality of the program. The main class controls its ow. Use a di erent le for each class. At the beginning of every le, put comments explaining what the class does, how it does it. When declaring a variable, put comments indicating what this variable will be used for. When de ning a method, put comments indicating what the methods will do, what its parameters are, what the method will return. Insert plenty of comments in your code explaining what you are doing, how you are doing it. 1.3 Tools to Use If you are going to work from the computers on campus, you do not have any choice. You must use what is installed on them. JGrasp is the IDE installed on them. If you are going to work from your own computer, you rst must have the following: 2

3 1. Java Software Development Kit (JSDK). This can be downloaded from Sun Microsystems at java.sun.com. The current latest version (J2SE SDK). This contains all the runtime libraries needed as well as an IDE called NetBeans. This IDE has a lot of functionality, including a GUI builder. 2. A java IDE. You can either get a commercial one. There are also free ones. Here are some IDE s listed below. JBuilder. It is a commercial package, not very expensive for students. It has a lot of functionality, including a GUI builder. The web site for this software is: JCreator. There is a free version available. It is simple to use. The web site for this software is: Eclipse. This is also a free IDE. It is a little bit more complex to use, but it has more functionality than JCreator. The web site for this software is: 3. The Java VM to run the applets. To see if you have it, try to run some of my applets at If you see a red X where the applet should be, it means you need to install the java VM. You can download it from Sun Microsystems at java.sun.com. I have made a CD containing the J2SE SDK as well as the free IDE s mentioned above. If you need one, ask me. Even if you use my CD (to save download time), you should visit the web site of the product you select, for installation instructions and other information. If you do not have a favorite java IDE, I suggest you use NetBeans. It is free, has a GUI builder and all the functionality we will need in this class. 1.4 Class Speci cations As we build this class, we have to answer the following questions: 1. What is the data this class will operate on? This includes what data type. Do we need a separate class for points and vectors? 2. Should the data be public, private? 3. What constructors do we want for the class? 4. What are the operations we want to perform on the data? Data This class is designed to handle 3D vectors. A 3D vector has 3 coordinates, x, y, and z. There are two questions to answer here. 3

4 1. Since we know that we will be using homogeneous coordinates, should we assign 4 coordinates to the vector? Since the fourth coordinate is 1, we do not need to store it. 2. What data type should each coordinate have? We do not need the precision doubles would give us. We will use oat for the data type of x, y and z. 3. Do we need a separate class for points. Since points are also represented with three coordinates, we do not. It is not necessary to add a separate class for points. As far as our software is concerned, we will treat points as vectors. We can always add such a class if it becomes necessary. 4. The name of the class will be vect3d Public versus private data Usually, all data within a class is private. The internals of a class should be hidden from the user. In this case, the class is simple. It represents a vector, so we know what the data is. The x, y and z coordinates of the vector Class Constructors There should be a default constructor, called with no arguments. It creates an object of this class, and sets its coordinates to 0. Since a vector can be constructed from either a point (it is the vector from the origin to that point) or from two points, we need a constructor for each situation Operations We need the basic operations on vectors. For each operation, we need to decide how to call it, what its arguments are, how it will be used, what it will return. Addition Name: add Parameters: 1 parameter of type vect3d, the second vector to add. What it does: adds 2 vectors. Subtraction Name:minus Parameters: 1 parameter of type vect3d, the second vector to subtract. 4

5 What it does: subtracts 2 vectors. Multiplication by a scalar Name: times Parameters: 1 parameter of type oat, the scalar by which we multiply. What it does: multiplies a vector by a scalar. Dot product Name:dot Parameters: 1 parameter of type vect3d, the second vector to take the dot product with. Return type: an object of type oat. What it does: takes the dot product of two vectors. Cross product Name: cross Parameters: 1 parameter of type vect3d, the second vector to take the cross product with. What it does: takes the cross product of two vectors. We could also use functions to check the following: If a vector is the zero vector Name: iszero Parameters: none Return type: boolean (true or false) What it does: checks to see if the vector is the zero vector. If two vectors are equal Name: isequal Return type: boolean What it does: checks to see if the two vectors are equal. 5

6 If two vectors are parallel Name: isparallel Return type: boolean What it does: checks to see if the two vectors are parallel. If two vectors are perpendicular Name: isperp Return type: boolean What it does: checks to see if the two vectors are perpendicular. We could have additional functions for the following: Find the norm of a vector Name: norm Parameters: none Return type: an object of type oat What it does: returns the norm of a vector Normalize a vector Name: normalize Parameters: none What it does: returns a vector having the same direction, of length 1. Finds the distance between two points Name: dist Return type: an object of type oat What it does: compute the distance between the two points (which are treated as vectors) Conclusion We will develop a class named vect3d, whose data is the x, y and z coordinates of a vector, of type oat. This class will have the methods described above. 6

7 2 Assignments 1. Implement the 3D vector class as described in this document. You will also write a test program which can be used to test your code. The test program should test all the methods in your class. The test program will be called test1. The program is due on Monday September The next project is to develop a matrix class so we can implement the various transformations. Think about the speci cations such a class should have. We will discuss these at our next meeting, and make the speci cations of the class nal. 3 Resources This is a list of books and other resources I used to compile these notes. References [BG1] Burger, Peter, and Gillies, Duncan, Interactive Computer Graphics, Addison-Wesley, [DP1] Dunn, Fletcher and Parberry, Ian, 3D Math Primer for Graphics and Game Development, Wordware Publishing, Inc., [FD1] Foley, J.D., Van Dam, A., Feiner, S.K., and Hughes, J.F., Computer Graphics, Principles and Practices, Addison-Wesley, [FD2] Foley, J.D., Van Dam, A., Feiner, S.K., Hughes, J.F., and Philipps, R.L., Introduction to Computer Graphics, Addison-Wesley, [H1] Hill, F.S. JR., Computer Graphics Using Open GL, Prentice Hall, [LE1] Lengyel, Eric, Mathematics for 3D Game Programming & Computer Graphics, Charles River Media, Inc., [SE1] Schneider, Philip J., and Eberly, David H., Geometric Tools for Computer Graphics, Morgan Kaufman, [SP1] Shirley, Peter, Fundamentals of Computer Graphics, A K Peters, [SJ1] Stewart, James, Calculus, Concepts and Contexts, second edition, Brooks/Cole, [AW1] Watt, Alan, 3D Computer Graphics, Addison-Wesley, [AW2] Watt, Alan, The Computer Image, Addison-Wesley,

Mathematics for Computer Graphics - Ray Tracing III

Mathematics for Computer Graphics - Ray Tracing III Mathematics for Computer Graphics - Ray Tracing III Dr. Philippe B. Laval Kennesaw State University November 12, 2003 Abstract This document is a continuation of the previous documents on ray tracing.

More information

Mathematics for Computer Graphics - Lecture 13

Mathematics for Computer Graphics - Lecture 13 Mathematics for Computer Graphics - Lecture 13 Dr. Philippe B. Laval Kennesaw State University October 10, 2003 Abstract This document is about creating Java Applets as they relate to the project we are

More information

Mathematics for Computer Graphics - Lecture 12

Mathematics for Computer Graphics - Lecture 12 Mathematics for Computer Graphics - Lecture 12 Dr. Philippe B. Laval Kennesaw State University October 6, 2003 Abstract This document is about creating Java Applets as they relate to the project we are

More information

Introduction to JAVA Programming Language

Introduction to JAVA Programming Language Introduction to JAVA Programming Language Lecture 2 Based on Slides of Dr. Norazah Yusof 1 Origins of the Java Language Patrick Naughton and Jonathan Payne at Sun Microsystems developed a Web browser that

More information

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017 Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began

More information

1. Introduction. Java. Fall 2009 Instructor: Dr. Masoud Yaghini

1. Introduction. Java. Fall 2009 Instructor: Dr. Masoud Yaghini 1. Introduction Java Fall 2009 Instructor: Dr. Masoud Yaghini Outline Introduction Introduction The Java Programming Language The Java Platform References Java technology Java is A high-level programming

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

Welcome to CS 4/57101 Computer Graphics

Welcome to CS 4/57101 Computer Graphics Welcome to CS 4/57101 Computer Graphics Goal: The goal of this course is to provide an introduction to the theory and practice of computer graphics. The course will assume a good background in programming

More information

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department

NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department NEW YORK CITY COLLEGE OF TECHNOLOGY/CUNY Computer Systems Technology Department COURSE: CST1201 Programming Fundamentals (2 class hours, 2 lab hours, 3 credits) Course Description: This course is an intensive

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 (C) 2010 Pearson Education, Inc. All rights reserved. Course: Object-Oriented Programming with Java Instructor : Assoc. Prof. Dr. Marenglen Biba Office : Faculty building

More information

Introduction to Java Programming

Introduction to Java Programming Introduction to Java Programming Lecture 1 CGS 3416 Spring 2017 1/9/2017 Main Components of a computer CPU - Central Processing Unit: The brain of the computer ISA - Instruction Set Architecture: the specific

More information

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the

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 (C) 2010 Pearson Education, Inc. All rights reserved. Course: Object-Oriented Programming with Java (4 credit hours) Instructor : Assoc. Prof. Dr. Marenglen Biba Office

More information

Mcq In Computer Graphics

Mcq In Computer Graphics Mcq In Free PDF ebook Download: Mcq In Download or Read Online ebook mcq in computer graphics in PDF Format From The Best User Guide Database 1.4 PC Hardware. 1.5 PC Logical graphics (CG) is the field

More information

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A.

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A. Computer Graphics Instructor: Oren Kapah (orenkapahbiu@gmail.com) Office Hours: T.B.A. The CG-IDC slides for this course were created by Toky & Hagit Hel-Or 1 CG-IDC 2 Exercise and Homework The exercise

More information

Merge Sort Quicksort 9 Abstract Windowing Toolkit & Swing Abstract Windowing Toolkit (AWT) vs. Swing AWT GUI Components Layout Managers Swing GUI

Merge Sort Quicksort 9 Abstract Windowing Toolkit & Swing Abstract Windowing Toolkit (AWT) vs. Swing AWT GUI Components Layout Managers Swing GUI COURSE TITLE :Introduction to Programming 2 COURSE PREREQUISITE :Introduction to Programming 1 COURSE DURATION :16 weeks (3 hours/week) COURSE METHODOLOGY:Combination of lecture and laboratory exercises

More information

Chapter 1 Introduction to Computers, Programs, and Java

Chapter 1 Introduction to Computers, Programs, and Java Chapter 1 Introduction to Computers, Programs, and Java 1 Programs Computer programs, known as software, are instructions to the computer. You tell a computer what to do through programs. Without programs,

More information

History Introduction to Java Characteristics of Java Data types

History Introduction to Java Characteristics of Java Data types Course Name: Advanced Java Lecture 1 Topics to be covered History Introduction to Java Characteristics of Java Data types What is Java? An Object-Oriented Programming Language developed at Sun Microsystems

More information

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson Introduction History, Characteristics of Java language Java Language Basics Data types, Variables, Operators and Expressions Anatomy of a Java Program

More information

Chapter 1 Introduction to Computers, Programs, and Java. What is a Computer? A Bit of History

Chapter 1 Introduction to Computers, Programs, and Java. What is a Computer? A Bit of History Chapter 1 Introduction to Computers, Programs, and Java CS170 Introduction to Computer Science 1 What is a Computer? A machine that manipulates data according to a list of instructions Consists of hardware

More information

CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM

CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM CS 315 Software Design Homework 3 Preconditions, Postconditions, Invariants Due: Sept. 29, 11:30 PM Objectives Defining a wellformed method to check class invariants Using assert statements to check preconditions,

More information

Introduction Welcome! Before you start Course Assessments The course at a glance How to pass M257

Introduction Welcome! Before you start Course Assessments The course at a glance How to pass M257 Introduction Unit 1: Java Everywhere Prepared by: Dr. Abdallah Mohamed, AOU-KW 1 Introduction Welcome! Before you start Course Assessments The course at a glance How to pass M257 1. Java background 2.

More information

Computer Graphics Introduction. Taku Komura

Computer Graphics Introduction. Taku Komura Computer Graphics Introduction Taku Komura What s this course all about? We will cover Graphics programming and algorithms Graphics data structures Applied geometry, modeling and rendering Not covering

More information

2 Introduction to Java. Introduction to Programming 1 1

2 Introduction to Java. Introduction to Programming 1 1 2 Introduction to Java Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Describe the features of Java technology such as the Java virtual machine, garbage

More information

Computer Graphics II: Tools and Techniques

Computer Graphics II: Tools and Techniques Administrive Details Computer Graphics II: Tools and Techniques P. Healy CS1-08 Computer Science Bldg. tel: 202727 patrick.healy@ul.ie Autumn 2018-2019 Outline Administrive Details 1 Administrive Details

More information

Introduction to Java

Introduction to Java Introduction to Java Module 1: Getting started, Java Basics 22/01/2010 Prepared by Chris Panayiotou for EPL 233 1 Lab Objectives o Objective: Learn how to write, compile and execute HelloWorld.java Learn

More information

IQTIDAR ALI Lecturer IBMS Agriculture University Peshawar

IQTIDAR ALI Lecturer IBMS Agriculture University Peshawar IQTIDAR ALI Lecturer IBMS Agriculture University Peshawar Upon completing the course, you will understand Create, compile, and run Java programs Primitive data types Java control flow Operator Methods

More information

More About Objects and Methods

More About Objects and Methods More About Objects and Methods Chapter 6 Objectives Define and use constructors Write and use static variables and methods Use methods from class Math Use predefined wrapper classes Use stubs, drivers

More information

Chapter. Focus of the Course. Object-Oriented Software Development. program design, implementation, and testing

Chapter. Focus of the Course. Object-Oriented Software Development. program design, implementation, and testing Introduction 1 Chapter 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design 2007 Pearson Addison-Wesley. All rights reserved Focus of the Course Object-Oriented Software Development

More information

JAVA: A Primer. By: Amrita Rajagopal

JAVA: 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 information

Implementing Object Equivalence in Java Using the Template Method Design Pattern

Implementing Object Equivalence in Java Using the Template Method Design Pattern Implementing Object Equivalence in Java Using the Template Method Design Pattern Daniel E. Stevenson and Andrew T. Phillips Computer Science Department University of Wisconsin-Eau Claire Eau Claire, WI

More information

CSC 425 Computer Graphics and Games

CSC 425 Computer Graphics and Games Computer Science Department cs.salemstate.edu CSC 425 Computer Graphics and Games 4 cr. Instructor: TBA Office: location Phone: (978) 542-extension email: TBA@salemstate.edu Office Hours: days and times

More information

SRI VENKATESWARA COLLEGE OF ENGINEERING. COURSE DELIVERY PLAN - THEORY Page 1 of 6

SRI VENKATESWARA COLLEGE OF ENGINEERING. COURSE DELIVERY PLAN - THEORY Page 1 of 6 COURSE DELIVERY PLAN - THEORY Page 1 of 6 Department of Information Technology B.E/B.Tech/M.E/M.Tech : IT Regulation: 2016 PG Specialisation : -- Sub. Code / Sub. Name : IT16501 / Graphics and Multimedia

More information

Java Programming Manual Windows

Java Programming Manual Windows Java Programming Manual Windows If you are searching for a book Java programming manual windows in pdf format, then you've come to the loyal website. We presented the complete option of this ebook in txt,

More information

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics Zarqa University Faculty: Information Technology Department: Computer Science Course title: Programming LAB 1 (1501111) Instructor: Lecture s time: Semester: Office Hours: Course description: This introductory

More information

ENCE 688R Civil Information Systems

ENCE 688R Civil Information Systems Mark Austin, Department of Civil Engineering, University of Maryland, College Park. Notes from Class Meet the Class: [ 2012 ] [ 2013 ] [ 2016 ] [ 2017 ] Projects: [ 2012 ] [ 2013 ] [ 2016 ] [ 2017 ] GOALS

More information

College Board. AP CS A Labs Magpie, Elevens, and Picture Lab. New York: College Entrance Examination Board, 2013.

College Board. AP CS A Labs Magpie, Elevens, and Picture Lab. New York: College Entrance Examination Board, 2013. AP Computer Science August 2014 June 2015 Class Description AP Computer Science is the second class after Pre-AP Computer Science that together teach the fundamentals of object-oriented programming and

More information

Java Camp Daily Schedule

Java Camp Daily Schedule Java Camp Daily Schedule M & W 8:30 am 10:00 am self-directed Java review exercises & activities T, R, & F 8:30 am 10:00 am instructor demonstrations, lecture, & discussion 10:00 am 10:15 am morning break

More information

COT 3530: Data Structures. Giri Narasimhan. ECS 389; Phone: x3748

COT 3530: Data Structures. Giri Narasimhan. ECS 389; Phone: x3748 COT 3530: Data Structures Giri Narasimhan ECS 389; Phone: x3748 giri@cs.fiu.edu www.cs.fiu.edu/~giri/teach/3530spring04.html Evaluation Midterm & Final Exams Programming Assignments Class Participation

More information

Getting Started with Java. Atul Prakash

Getting Started with Java. Atul Prakash Getting Started with Java Atul Prakash Running Programs C++, Fortran, Pascal Python, PHP, Ruby, Perl Java is compiled into device-independent code and then interpreted Source code (.java) is compiled into

More information

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform

Outline. Introduction to Java. What Is Java? History. Java 2 Platform. Java 2 Platform Standard Edition. Introduction Java 2 Platform Outline Introduction to Java Introduction Java 2 Platform CS 3300 Object-Oriented Concepts Introduction to Java 2 What Is Java? History Characteristics of Java History James Gosling at Sun Microsystems

More information

Chapter 1: Introduction to Computers and Java

Chapter 1: Introduction to Computers and Java Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:

More information

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java Chapter 1: Introduction to Computers and Java Starting Out with Java: From Control Structures through Objects Fifth Edition by Tony Gaddis Chapter Topics Chapter 1 discusses the following main topics:

More information

DATA STRUCTURES CHAPTER 1

DATA STRUCTURES CHAPTER 1 DATA STRUCTURES CHAPTER 1 FOUNDATIONAL OF DATA STRUCTURES This unit introduces some basic concepts that the student needs to be familiar with before attempting to develop any software. It describes data

More information

COURSE DELIVERY PLAN - THEORY Page 1 of 6

COURSE DELIVERY PLAN - THEORY Page 1 of 6 COURSE DELIVERY PLAN - THEORY Page 1 of 6 Department of Department of Computer Science and Engineering B.E/B.Tech/M.E/M.Tech : Department of Computer Science and Engineering Regulation : 2013 Sub. Code

More information

Pace University. Fundamental Concepts of CS121 1

Pace University. Fundamental Concepts of CS121 1 Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction

More information

Computer graphics 2. Róbert Bohdal, FMFI UK M-114, flurry.dg.fmph.uniba.sk/webog/bohdal

Computer graphics 2. Róbert Bohdal, FMFI UK M-114, flurry.dg.fmph.uniba.sk/webog/bohdal Computer graphics 2 Róbert Bohdal, FMFI UK M-114, bohdal@fmph.uniba.sk flurry.dg.fmph.uniba.sk/webog/bohdal Content and form It follows the course Computer Graphics 1 It assumed knowledge of terms and

More information

Sun ONE Integrated Development Environment

Sun ONE Integrated Development Environment DiveIntoSunONE.fm Page 197 Tuesday, September 24, 2002 8:49 AM 5 Sun ONE Integrated Development Environment Objectives To be able to use Sun ONE to create, compile and execute Java applications and applets.

More information

The University of Aizu School of Computer Science and Engineering Introduction to Programming. Course Syllabus (Special Track for Foreign Students)

The University of Aizu School of Computer Science and Engineering Introduction to Programming. Course Syllabus (Special Track for Foreign Students) The University of Aizu School of Computer Science and Engineering Introduction to Programming Course Syllabus (Special Track for Foreign Students) Evgeny Pyshkin, Senior Associate Professor 27.01.2017

More information

1 Preview. Dr. Scott Gordon Computer Science Dept. CSUS. Virtual Cameras, Viewing Transformations: CSc-155 Advanced Computer Graphics

1 Preview. Dr. Scott Gordon Computer Science Dept. CSUS. Virtual Cameras, Viewing Transformations: CSc-155 Advanced Computer Graphics CSc-155 Advanced Computer Graphics 1 Preview Dr. Scott Gordon Computer Science Dept. CSUS Course Description Modeling, viewing, and rendering techniques in 3D computer graphics systems. Topics include:

More information

Lesson 6 Introduction to Object-Oriented Programming

Lesson 6 Introduction to Object-Oriented Programming Lesson 6 Introduction to Object-Oriented Programming Programming Grade in Computer Engineering Outline 1. Motivation 2. Classes, objects and attributes 3. Constructors 4. Methods 5. Composition 6. Object

More information

G51OOP. Object Oriented Programming Comp Sci University of Nottingham Unit 1 : Introduction

G51OOP. Object Oriented Programming Comp Sci University of Nottingham Unit 1 : Introduction G51OOP Object Oriented Programming Comp Sci University of Nottingham Unit 1 : Introduction Overview Background Teaching Staff Course Details Assessment OOP Summary Resources Programming Programming Languages

More information

CE221 Programming in C++ Part 1 Introduction

CE221 Programming in C++ Part 1 Introduction CE221 Programming in C++ Part 1 Introduction 06/10/2017 CE221 Part 1 1 Module Schedule There are two lectures (Monday 13.00-13.50 and Tuesday 11.00-11.50) each week in the autumn term, and a 2-hour lab

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

Objectives. Chapter 1 Introduction to Computers, Programs, and Java. What is a Computer?

Objectives. Chapter 1 Introduction to Computers, Programs, and Java. What is a Computer? Chapter 1 Introduction to Computers, Programs, and Java Objectives To review computer basics, programs, and operating systems ( 12-14) To explore the relationship between Java and the World Wide Web (

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

Lecture 1 - Introduction (Class Notes)

Lecture 1 - Introduction (Class Notes) Lecture 1 - Introduction (Class Notes) Outline: How does a computer work? Very brief! What is programming? The evolution of programming languages Generations of programming languages Compiled vs. Interpreted

More information

The Sun s Java Certification and its Possible Role in the Joint Teaching Material

The Sun s Java Certification and its Possible Role in the Joint Teaching Material The Sun s Java Certification and its Possible Role in the Joint Teaching Material Nataša Ibrajter Faculty of Science Department of Mathematics and Informatics Novi Sad 1 Contents Kinds of Sun Certified

More information

History of Java. Java was originally developed by Sun Microsystems star:ng in This language was ini:ally called Oak Renamed Java in 1995

History of Java. Java was originally developed by Sun Microsystems star:ng in This language was ini:ally called Oak Renamed Java in 1995 Java Introduc)on History of Java Java was originally developed by Sun Microsystems star:ng in 1991 James Gosling Patrick Naughton Chris Warth Ed Frank Mike Sheridan This language was ini:ally called Oak

More information

Chapter 1 Introduction to Computers, Programs, and Java

Chapter 1 Introduction to Computers, Programs, and Java Chapter 1 Introduction to Computers, Programs, and Java 1 Objectives To review computer basics, programs, and operating systems ( 1.2-1.4). To explore the relationship between Java and the World Wide Web

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

Comp 248 Introduction to Programming Chapter 4 & 5 Defining Classes Part B

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

More information

Introduction to Java and OOP. Hendrik Speleers

Introduction to Java and OOP. Hendrik Speleers Introduction to Java and OOP Hendrik Speleers Introduction to Java Additional course material Thinking in JAVA (4th edition) by Bruce Eckel Free download of older editions: http://mindview.net/books/tij4

More information

CS Systems Qualifying Exam 2017

CS Systems Qualifying Exam 2017 CS Systems Qualifying Exam 2017 Important Dates May 5: Registration ends. Registration instructions are below. When you register, you must declare the three exams you plan to take. May 22: Exams. Candidates

More information

1 Introduction Java, the beginning Java Virtual Machine A First Program BlueJ Raspberry Pi...

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

CS112 Lecture: Working with Numbers

CS112 Lecture: Working with Numbers CS112 Lecture: Working with Numbers Last revised January 30, 2008 Objectives: 1. To introduce arithmetic operators and expressions 2. To expand on accessor methods 3. To expand on variables, declarations

More information

An applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a

An applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a CBOP3203 An applet is a program written in the Java programming language that can be included in an HTML page, much in the same way an image is included in a page. When you use a Java technology-enabled

More information

Objectives. Problem Solving. Introduction. An overview of object-oriented concepts. Programming and programming languages An introduction to Java

Objectives. Problem Solving. Introduction. An overview of object-oriented concepts. Programming and programming languages An introduction to Java Introduction Objectives An overview of object-oriented concepts. Programming and programming languages An introduction to Java 1-2 Problem Solving The purpose of writing a program is to solve a problem

More information

Bitwise Operators Objects and Methods

Bitwise Operators Objects and Methods Bitwise Operators Objects and Methods Chapter 6 Java Bitwise Operators Java has six bitwise operators: Symbol Operator & Bitwise AND Bitwise OR ^ Bitwise XOR ~ Bitwise NOT > RIGHT SHIFT

More information

Defining Classes and Methods

Defining Classes and Methods Walter Savitch Frank M. Carrano Defining Classes and Methods Chapter 5 ISBN 0136091113 2009 Pearson Education, Inc., Upper Saddle River, NJ. All Rights Reserved Objectives Describe concepts of class, class

More information

Java3018: Darkening, Brightening, and Tinting the Colors in a Picture *

Java3018: Darkening, Brightening, and Tinting the Colors in a Picture * OpenStax-CNX module: m44234 1 Java3018: Darkening, Brightening, and Tinting the Colors in a Picture * R.G. (Dick) Baldwin This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution

More information

Lecture 09. Ada to Software Engineering. Mr. Mubashir Ali Lecturer (Dept. of Computer Science)

Lecture 09. Ada to Software Engineering. Mr. Mubashir Ali Lecturer (Dept. of Computer Science) Lecture 09 Ada to Software Engineering Mr. Mubashir Ali Lecturer (Dept. of dr.mubashirali1@gmail.com 1 Summary of Previous Lecture 1. ALGOL 68 2. COBOL 60 3. PL/1 4. BASIC 5. Early Dynamic Languages 6.

More information

Compilers Project Proposals

Compilers Project Proposals Compilers Project Proposals Dr. D.M. Akbar Hussain These proposals can serve just as a guide line text, it gives you a clear idea about what sort of work you will be doing in your projects. Still need

More information

CS Systems Qualifying Exam 2016

CS Systems Qualifying Exam 2016 CS Systems Qualifying Exam 2016 Important Dates May 6 : Registration ends. Registration instructions are below. When you register, you must declare the three exams you plan to take. May 23 : Exams. Candidates

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

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

Programming In Java Prof. Debasis Samanta Department of Computer Science Engineering Indian Institute of Technology, Kharagpur

Programming In Java Prof. Debasis Samanta Department of Computer Science Engineering Indian Institute of Technology, Kharagpur Programming In Java Prof. Debasis Samanta Department of Computer Science Engineering Indian Institute of Technology, Kharagpur Lecture 01 Introduction First of all I wish like to welcome you all to the

More information

Syllabus CS476 COMPUTER GRAPHICS Fall 2009

Syllabus CS476 COMPUTER GRAPHICS Fall 2009 Syllabus CS476 COMPUTER GRAPHICS Fall 2009 Text: Computer Graphics: Principles & Practice, by Foley, van Dam, Feiner, & Hughes(2nd Ed. in C) Changes will be made as necessary. Instructor: Hue McCoy TA:

More information

CT 229. CT229 Lecture Notes. Labs. Tutorials. Lecture Notes. Programming II CT229. Objectives for CT229. IT Department NUI Galway

CT 229. CT229 Lecture Notes. Labs. Tutorials. Lecture Notes. Programming II CT229. Objectives for CT229. IT Department NUI Galway Lecture Notes CT 229 Programming II Lecture notes, Sample Programs, Lab Assignments and Tutorials will be available for download at: http://www.nuigalway.ie/staff/ted_scully/ct229/ Lecturer: Dr Ted Scully

More information

CS Systems Qualifying Exam 2014

CS Systems Qualifying Exam 2014 CS Systems Qualifying Exam 2014 Important Dates April 27: Registration ends. Registration instructions are below. When you register, you must declare the three exams you plan to take. May 19: Exams. Candidates

More information

Programming Languages and Program Development Life Cycle Fall Introduction to Information and Communication Technologies CSD 102

Programming Languages and Program Development Life Cycle Fall Introduction to Information and Communication Technologies CSD 102 Programming Languages and Program Development Life Cycle Fall 2016 Introduction to Information and Communication Technologies CSD 102 Outline The most common approaches to program design and development

More information

Advanced Object-Oriented Programming Introduction to OOP and Java

Advanced Object-Oriented Programming Introduction to OOP and Java Advanced Object-Oriented Programming Introduction to OOP and Java Dr. Kulwadee Somboonviwat International College, KMITL kskulwad@kmitl.ac.th Course Objectives Solidify object-oriented programming skills

More information

Software. Programming Languages. Types of Software. Types of Languages. Types of Programming. Software does something

Software. Programming Languages. Types of Software. Types of Languages. Types of Programming. Software does something Software Software does something LBSC 690: Week 10 Programming, JavaScript Jimmy Lin College of Information Studies University of Maryland Monday, April 9, 2007 Tells the machine how to operate on some

More information

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

Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p. Preface p. xiii Introduction to JavaScript p. 1 JavaScript Myths p. 2 Versions of JavaScript p. 2 Client-Side JavaScript p. 3 JavaScript in Other Contexts p. 5 Client-Side JavaScript: Executable Content

More information

Computer Programming, I. Laboratory Manual. Final Exam Solution

Computer Programming, I. Laboratory Manual. Final Exam Solution Think Twice Code Once The Islamic University of Gaza Engineering Faculty Department of Computer Engineering Fall 2017 ECOM 2005 Khaleel I. Shaheen Computer Programming, I Laboratory Manual Final Exam Solution

More information

Object Oriented Program Correctness with OOSimL

Object Oriented Program Correctness with OOSimL Kennesaw State University DigitalCommons@Kennesaw State University Faculty Publications 12-2009 Object Oriented Program Correctness with OOSimL José M. Garrido Kennesaw State University, jgarrido@kennesaw.edu

More information

Course Outline. Introduction to java

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

BASIC COMPUTATION. public static void main(string [] args) Fundamentals of Computer Science I

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

Chapter Goals. Contents INTRODUCTION

Chapter Goals. Contents INTRODUCTION CHAPTER 1 INTRODUCTION Slides by Donald W. Smith TechNeTrain.com Chapter Goals To learn about computers and programming To compile and run your first Java program To recognize compile-time and run-time

More information

Course Title: Computer Graphics Course no: CSC209

Course Title: Computer Graphics Course no: CSC209 Course Title: Computer Graphics Course no: CSC209 Nature of the Course: Theory + Lab Semester: III Full Marks: 60+20+20 Pass Marks: 24 +8+8 Credit Hrs: 3 Course Description: The course coversconcepts of

More information

Java Software Solutions For Ap Computer Science A 2nd Edition

Java Software Solutions For Ap Computer Science A 2nd Edition Java Software Solutions For Ap Computer Science A 2nd Edition We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our ebooks online or by storing it on your computer,

More information

Java Concepts: Compatible With Java 5, 6 And 7 By Cay S. Horstmann

Java Concepts: Compatible With Java 5, 6 And 7 By Cay S. Horstmann Java Concepts: Compatible With Java 5, 6 And 7 By Cay S. Horstmann Java Concepts: Compatible with Java 5, 6 and 7 by Horstmann, Cay S. and a great selection of similar Used, New and Collectible Books available

More information

Object-Oriented Programming in Java

Object-Oriented Programming in Java Software and Programming I Object-Oriented Programming in Java Roman Kontchakov / Carsten Fuhs Birkbeck, University of London Outline Object-Oriented Programming Public Interface of a Class Instance Variables

More information

Eclipse Tutorial. For Introduction to Java Programming By Y. Daniel Liang

Eclipse Tutorial. For Introduction to Java Programming By Y. Daniel Liang Eclipse Tutorial For Introduction to Java Programming By Y. Daniel Liang This supplement covers the following topics: Getting Started with Eclipse Choosing a Perspective Creating a Project Creating a Java

More information

JAVA An overview for C++ programmers

JAVA An overview for C++ programmers JAVA An overview for C++ programmers Wagner Truppel wagner@cs.ucr.edu edu March 1st, 2004 The early history James Gosling, Sun Microsystems Not the usual start for a prog.. language Consumer electronics,

More information

Chapter 1 Introduction to Computers, Programs, and Java

Chapter 1 Introduction to Computers, Programs, and Java Chapter 1 Introduction to Computers, Programs, and Java 1.1 Introduction The central theme of this book is to learn how to solve problems by writing a program. This book teaches you how to create programs

More information

CSM #1: Calculus II & III Short Course

CSM #1: Calculus II & III Short Course CSM #1: Calculus II & III Short Course Client: Gus Greivel Sidney Cox Andy Hicks John Slattery Colin Wein Faculty Advisor: Dr. Robert Underwood Field Session 2005 Executive Summary Freshmen and transfer

More information

Selected Java Topics

Selected Java Topics Selected Java Topics Introduction Basic Types, Objects and Pointers Modifiers Abstract Classes and Interfaces Exceptions and Runtime Exceptions Static Variables and Static Methods Type Safe Constants Swings

More information

function [s p] = sumprod (f, g)

function [s p] = sumprod (f, g) Outline of the Lecture Introduction to M-function programming Matlab Programming Example Relational operators Logical Operators Matlab Flow control structures Introduction to M-function programming M-files:

More information