Lab Sessions Photorealistic Rendering (Advanced Computer Graphics)

Size: px
Start display at page:

Download "Lab Sessions Photorealistic Rendering (Advanced Computer Graphics)"

Transcription

1 Lab Sessions Photorealistic Rendering (Advanced Computer Graphics) Tobias Isenberg

2 Lab sessions: Introduction implementations: raytracer some information on assignments continued work on the next assignments ask questions presence is mandatory work in pairs of two

3 Grading and rules grading of the extension part: 90 points for assignments (15 points each assignment) 100% of required assignments equals 18 to get to a grade of 20 you can do bonus tasks presence is mandatory; when sick me ahead of time strict deadlines: send in coding results day before lab problems? then talk to me/ me ahead of time

4 Deadlines deadline is 23:59 CET of the day before the lab session strict deadlines: 10% reduction per day late example: materials sent on Sunday for Monday class: full 100% materials sent in the morning of lab session day: -10% materials sent on Wednesday: -30% etc. I did not know how to do this. The compiler on my machine did not work. etc. are not accepted

5 What to submit for the assignments directory with full source code of your raytracer should compile on Windows should be well commented (in English) directory with Windows binary of your raytracer include your adjusted yaml file(s) to trace final scene script/batch file to produce all results for the given assignment Windows RELEASE binaries directory with result images (include cool examples & errors) readme.txt: names, assignment number, notes if needed

6 What to submit for the assignments example: raytracer/* (includes all the necessary source files) raytracer-binary/ raytracer-binary/runme.bat raytracer-binary/myscene.yaml raytracer-binary/raytracer.exe results/*.png readme.txt put all the materials into a single archive use *.zip or *.7z formats file name: assignment{1-7}_lastname_lastname.{zip 7z}

7 How to submit the assignments upload archive file to external server own web server cloud storage (Dropbox, Box.com, Google Drive, OneDrive, etc.) link to the package before the deadline to (do NOT use my p-sud.fr address!) subject line: [CG Assignment] Assignment X, Name & Name e.g., [CG Assignment] Assignment 1, Smith & Jones

8 Helper function: boolean ready_to_submit_assignment() { } boolean fully_understood_slides; do { fully_understood_slides = read_and_understand_tutorial_slide(5) && read_and_understand_tutorial_slide(6) && read_and_understand_tutorial_slide(7); } while (fully_understood_slides!= true); return (fully_understood_slides);

9 Raytracer: implementation goals own implementations of core computer graphics concepts global illumination concept several aspects of simple CG many extensions possible to explore other advanced topics

10 Bonus tasks several bonus tasks suggested they get you to > 18 feel free to suggest additional bonus tasks

11 Bonus tasks several bonus tasks suggested they get you to > 18 feel free to suggest additional bonus tasks

12 Bonus tasks several bonus tasks suggested they get you to > 18 feel free to suggest additional bonus tasks

13 Raytracer

14 Raytracer step-by-step

15 Raytracer step-by-step

16 Raytracer step-by-step

17 Raytracer step-by-step

18 Raytracer step-by-step

19 Raytracer step-by-step

20 Raytracer step-by-step

21 Raytracer step-by-step

22 Raytracer step-by-step

23 Raytracer step-by-step

24 Raytracer step-by-step

25 Raytracer step-by-step

26 Raytracer step-by-step

27 Raytracer step-by-step

28 Raytracer step-by-step

29 Raytracer step-by-step

30 Raytracer project page

31 Raytracer framework we provide basic C++ framework other languages (Java, C#, Turing machine, ) are allowed if you convert the framework it works with the same scene descriptions it compiles in the lab or on my laptop I ok ed it it is not allowed to use other people s code/raytracers (beyond basic framework) copy other team s results

32 Raytracer: building and running Compile: Run: View result: $ make $./raytracer scene01.yaml $./raytracer scene01.yaml scene01.png $ kview scene01.png

33 Raytracer: getting started look at included readme file look at example scene description: scene01.yaml compile & run w/o changes follow exercise

34 Raytracer assignments details

35 Raytracer: assignment implement intersect() function implement normal calculation for the spere (no visual changes) remember (look up) the definition of the dot product

36 Raytracer: assignment implement the diffuse term of Phong's lighting model modify Scene::trace(Ray) in the file scene.cpp Phong diffuse: k d I (L N)

37 Raytracer: assignment implement ambient and specular parts of the Phong model Phong ambient: k a I Phong specular: k s I (R V) n

38 Raytracer: assignment test your raytracer with the provided scene file

39 Compilers compilers packaged with your preferred Linux distribution Microsoft Visual Studio Community: free for academic use Microsoft Visual Studio Express: free to use

40 Microsoft Operating Systems use MS Academic Alliance/ MS Dreamspark/MS Imagine licenses (for free for students!) Université Paris Sud: = ab9b-e d d8897 Polytech Paris Sud?

41 Boy, this is too much to program! 1984: Paul Heckbert s challenge for shortest raytracer Andrew Kensler s business card #include <stdlib.h> // card > aek.ppm #include <stdio.h> #include <math.h> typedef int i;typedef float f;struct v{ f x,y,z;v operator+(v r){return v(x+r.x,y+r.y,z+r.z);}v operator*(f r){return v(x*r,y*r,z*r);}f operator%(v r){return x*r.x+y*r.y+z*r.z;}v(){}v operator^(v r ){return v(y*r.z-z*r.y,z*r.x-x*r.z,x*r. y-y*r.x);}v(f a,f b,f c){x=a;y=b;z=c;}v operator!(){return*this*(1/sqrt(*this%* this));}};i G[]={247570,280596,280600, ,18578,18577,231184,16,16};f R(){ return(f)rand()/rand_max;}i T(v o,v d,f &t,v&n){t=1e9;i m=0;f p=-o.z/d.z;if(.01 <p)t=p,n=v(0,0,1),m=1;for(i k=19;k--;) for(i j=9;j--;)if(g[j]&1<<k){v p=o+v(-k,0,-j-4);f b=p%d,c=p%p-1,q=b*b-c;if(q>0 ){f s=-b-sqrt(q);if(s<t&&s>.01)t=s,n=!( p+d*t),m=2;}}return m;}v S(v o,v d){f t ;v n;i m=t(o,d,t,n);if(!m)return v(.7,.6,1)*pow(1-d.z,4);v h=o+d*t,l=!(v(9+r( ),9+R(),16)+h*-1),r=d+n*(n%d*-2);f b=l% n;if(b<0 T(h,l,t,n))b=0;f p=pow(l%r*(b >0),99);if(m&1){h=h*.2;return((i)(ceil( h.x)+ceil(h.y))&1?v(3,1,1):v(3,3,3))*(b *.2+.1);}return v(p,p,p)+s(h,r)*.5;}i main(){printf("p ");v g=!v (-6,-16,0),a=!(v(0,0,1)^g)*.002,b=!(g^a )*.002,c=(a+b)*-256+g;for(i y=512;y--;) for(i x=512;x--;){v p(13,13,13);for(i r =64;r--;){v t=a*(r()-.5)*99+b*(r()-.5)* 99;p=S(v(17,16,8)+t,!(t*-1+(a*(R()+x)+b *(y+r())+c)*16))*3.5+p;}printf("%c%c%c",(i)p.x,(i)p.y,(i)p.z);}} see for more information

42 It just doesn t work, but my code is ok!

43 Rest of today s session set up raytracer get framework and extract compile run view image understand first raytracer assignment start coding Assignment 1 (and beyond)

EDAN30 Photorealistic Computer Graphics. Ray tracing. Michael Doggett Department of Computer Science Lund university. Copyright 2011 Michael Doggett

EDAN30 Photorealistic Computer Graphics. Ray tracing. Michael Doggett Department of Computer Science Lund university. Copyright 2011 Michael Doggett EDAN30 Photorealistic Computer Graphics Ray tracing Michael Doggett Department of Computer Science Lund university Copyright 2011 Michael Doggett Outline Recursive ray tracing Whitted ray tracing, An improved

More information

HIGH PERFORMANCE RAY TRACING: IMPLICATIONS FOR SYSTEM ARCHITECTURES. Computer Graphics. Erik Brunvand, University of Utah 9/2/15&

HIGH PERFORMANCE RAY TRACING: IMPLICATIONS FOR SYSTEM ARCHITECTURES. Computer Graphics. Erik Brunvand, University of Utah 9/2/15& Turner Whitted The Compleat Angler 1979 HIGH PERFORMANCE RAY TRACING: IMPLICATIONS FOR SYSTEM ARCHITECTURES Erik Brunvand, University of Utah Computer Graphics 1& Computer Graphics Computer Graphics 2&

More information

Ray Tracing and Sampling

Ray Tracing and Sampling EDA101: Advanced Shading and Rendering Ray Tracing and Sampling Michael Doggett Copyright 2008 Tomas Akenine-Möller 1 What is ray tracing? Another rendering algorithm Fundamentally different from polygon

More information

Practical 2: Ray Tracing

Practical 2: Ray Tracing 2017/2018, 4th quarter INFOGR: Graphics Practical 2: Ray Tracing Author: Jacco Bikker The assignment: The purpose of this assignment is to create a small Whitted-style ray tracer. The renderer should be

More information

CS GPU and GPGPU Programming Lecture 1: Introduction. Markus Hadwiger, KAUST

CS GPU and GPGPU Programming Lecture 1: Introduction. Markus Hadwiger, KAUST CS 380 - GPU and GPGPU Programming Lecture 1: Introduction Markus Hadwiger, KAUST Lecture Overview Goals Learn GPU architecture and programming; both for graphics and for computing (GPGPU) Shading languages

More information

Engr 123 Spring 2018 Notes on Visual Studio

Engr 123 Spring 2018 Notes on Visual Studio Engr 123 Spring 2018 Notes on Visual Studio We will be using Microsoft Visual Studio 2017 for all of the programming assignments in this class. Visual Studio is available on the campus network. For your

More information

CSC 4992 Cyber Security Practice

CSC 4992 Cyber Security Practice CSC 4992 Cyber Security Practice Fengwei Zhang Wayne State University CSC 4992 Cyber Security Practice 1 Who Am I? Fengwei Zhang Assistant Professor of Computer Science Office: Maccabees Building, Room

More information

Assignment 6: Ray Tracing

Assignment 6: Ray Tracing Assignment 6: Ray Tracing Programming Lab Due: Monday, April 20 (midnight) 1 Introduction Throughout this semester you have written code that manipulated shapes and cameras to prepare a scene for rendering.

More information

This is a combination of a programming assignment and ungraded exercises

This is a combination of a programming assignment and ungraded exercises CSE 11 Winter 2017 Programming Assignment #1 Covers Chapters: ZY 1-3 START EARLY! 100 Pts Due: 25 JAN 2017 at 11:59pm (2359) This is a combination of a programming assignment and ungraded exercises Exercises

More information

CS 410: Computer Graphics

CS 410: Computer Graphics CS 410: Computer Graphics Professor: Bruce Draper Room 440 CSB (970) 491-7873 Office Hours: Mon 10:00 11:00 Tues 10:00 11:00 or by appointment draper@cs.colostate.edu 1-slide Overview This is what you

More information

Programming (Econometrics)

Programming (Econometrics) Programming (Econometrics) Lecture 1: Introduction Tommi Tervonen Econometric Institute, Erasmus University Rotterdam Course learning objectives After this course, you should be able to: Program econometrical

More information

How to Activate Student Log in to the student Registration system (also known as My Community Education or Banner ).

How to Activate Student Log in to the student Registration system (also known as My Community Education or Banner ). How to Activate Student E-Mail 1. Log in to the student Registration system (also known as My Community Education or Banner ). 2. The new account notice shows at the top of the screen once signed in. Click

More information

1.00/1.001 Tutorial 1

1.00/1.001 Tutorial 1 1.00/1.001 Tutorial 1 Introduction to 1.00 September 12 & 13, 2005 Outline Introductions Administrative Stuff Java Basics Eclipse practice PS1 practice Introductions Me Course TA You Name, nickname, major,

More information

Computer Graphics Coursework 1

Computer Graphics Coursework 1 Computer Graphics Coursework 1 Deadline Deadline: 4pm, 24/10/2016 4pm 23/10/2015 Outline The aim of the coursework is to modify the vertex and fragment shaders in the provided OpenGL framework to implement

More information

GLOBAL ILLUMINATION. Christopher Peters INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION

GLOBAL ILLUMINATION. Christopher Peters INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION DH2323 DGI17 INTRODUCTION TO COMPUTER GRAPHICS AND INTERACTION GLOBAL ILLUMINATION Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters

More information

Assignment 3 ITCS-6010/8010: Cloud Computing for Data Analysis

Assignment 3 ITCS-6010/8010: Cloud Computing for Data Analysis Assignment 3 ITCS-6010/8010: Cloud Computing for Data Analysis Due by 11:59:59pm on Tuesday, March 16, 2010 This assignment is based on a similar assignment developed at the University of Washington. Running

More information

Computer Graphics Tick 2

Computer Graphics Tick 2 Computer Graphics Tick 2 Advanced Ray Tracing Effects Figure 1: The image you will create in this exercise. 1 Introduction In this exercise you will extend the ray tracer to handle a new shape and additional

More information

MS Visual Studio.Net 2008 Tutorial

MS Visual Studio.Net 2008 Tutorial 1. Start Visual Studio as follows: MS Visual Studio.Net 2008 Tutorial 2. Once you have started Visual Studio you should see a screen similar to the following image: 3. Click the menu item File New Project...

More information

Intermediate Programming, Spring Misha Kazhdan

Intermediate Programming, Spring Misha Kazhdan 600.120 Intermediate Programming, Spring 2017 Misha Kazhdan Outline Unix/Linux command line Basics of the Emacs editor Compiling and running a simple C program Cloning a repository Connecting to ugrad

More information

Simon Technology Services

Simon Technology Services Simon Technology Services Student Handbook Simon Technology Services Help Desk Schlegel 404A (585) 275 4407 Support@Simon.Rochester.edu 1 Table of Contents Simon Credentials 3 Services Overview 4 Wireless

More information

Announcements. 1. Forms to return today after class:

Announcements. 1. Forms to return today after class: Announcements Handouts (3) to pick up 1. Forms to return today after class: Pretest (take during class later) Laptop information form (fill out during class later) Academic honesty form (must sign) 2.

More information

15-411/ Compiler Design

15-411/ Compiler Design 15-411/15-611 Compiler Design Jan Hoffmann Fall 2016 http://www.cs.cmu.edu/~janh/courses/411/16 Teaching Staff Instructor: Jan Hoffmann Office hours: Tue 10:30am-noon Thu 1:00pm-2:30pm at GHC 9105 Teaching

More information

Programming (ERIM) Lecture 1: Introduction to programming paradigms and typing systems. Tommi Tervonen

Programming (ERIM) Lecture 1: Introduction to programming paradigms and typing systems. Tommi Tervonen Programming (ERIM) Lecture 1: Introduction to programming paradigms and typing systems Tommi Tervonen Econometric Institute, Erasmus School of Economics Course learning objectives After this course, you

More information

You must pass the final exam to pass the course.

You must pass the final exam to pass the course. Computer Science Technology Department Houston Community College System Department Website: http://csci.hccs.cc.tx.us CRN: 46876 978-1-4239-0146-4 1-4239-0146-0 Semester: Fall 2010 Campus and Room: Stafford

More information

CSE Theory of Computing Fall 2017 Project 1-SAT Solving

CSE Theory of Computing Fall 2017 Project 1-SAT Solving CSE 30151 Theory of Computing Fall 2017 Project 1-SAT Solving Version 3: Sept. 21, 2017 The purpose of this project is to gain an understanding of one of the most central problems of computing: Boolean

More information

(0) introduction to the course. how to learn a programming language. (0) course structure

(0) introduction to the course. how to learn a programming language. (0) course structure topics: (0) introduction to the course (1) what is a computer? instructor: cis1.5 introduction to computing using c++ (robotics applications) spring 2008 lecture # I.1 introduction Prof Azhar, mqazhar@sci.brooklyn.cuny.edu

More information

CSCI455: Introduction to Programming System Design

CSCI455: Introduction to Programming System Design CSCI455: Introduction to Programming System Design Claire Bono bono@usc.edu Spring 2019 http://bytes.usc.edu/cs455/ 455 Intro [Bono] 1 Today s topics Course overview and logistics Academic integrity Java

More information

Advanced Computer Graphics: Non-Photorealistic Rendering

Advanced Computer Graphics: Non-Photorealistic Rendering Advanced Computer Graphics: Non-Photorealistic Rendering Gilles Tran, using POV-Ray 3.6 What is NPR? Non-Photorealistic Rendering and Animation as opposed to Photorealistic Rendering simulation of light

More information

CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming. Summer 2009

CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming. Summer 2009 CMPE012 Computer Engineering 12 (and Lab) Computing Systems and Assembly Language Programming Summer 2009 About these notes Originally by Cyrus Bazeghi Overhauled by Andrea Di Blas Modified by me (Alexandra

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Schedule Computing Environment AFS (Andrew File System) Linux/Unix Commands Helpful Tricks Computers First Java

More information

Programming Assignment HW5: CPU Scheduling draft v04/02/18 4 PM Deadline April 7th, 2018, 5 PM. Late deadline with penalty April 9th, 2018, 5 PM

Programming Assignment HW5: CPU Scheduling draft v04/02/18 4 PM Deadline April 7th, 2018, 5 PM. Late deadline with penalty April 9th, 2018, 5 PM Programming Assignment HW5: CPU Scheduling draft v04/02/18 4 PM Deadline April 7th, 2018, 5 PM. Late deadline with penalty April 9th, 2018, 5 PM Purpose: The objective of this assignment is to become familiar

More information

CLOVIS WEST DIRECTIVE STUDIES P.E INFORMATION SHEET

CLOVIS WEST DIRECTIVE STUDIES P.E INFORMATION SHEET CLOVIS WEST DIRECTIVE STUDIES P.E. 2018-19 INFORMATION SHEET INSTRUCTORS: Peggy Rigby peggyrigby@cusd.com 327-2104. Vance Walberg vancewalberg@cusd.com 327-2098 PURPOSE: Clovis West High School offers

More information

Lab 1 Introduction to UNIX and C

Lab 1 Introduction to UNIX and C Name: Lab 1 Introduction to UNIX and C This first lab is meant to be an introduction to computer environments we will be using this term. You must have a Pitt username to complete this lab. NOTE: Text

More information

Homework 3: Shading, Raytracing, and Image Processing

Homework 3: Shading, Raytracing, and Image Processing Computer Graphics CSE 457, Spring 1999 Craig Kaplan Douglas Zongker Homework 3: Shading, Raytracing, and Image Processing Received: Friday May 7, 1999 Due: Friday May 21, 1999 DIRECTIONS Please provide

More information

Programming Standards: You must conform to good programming/documentation standards. Some specifics:

Programming Standards: You must conform to good programming/documentation standards. Some specifics: CS3114 (Spring 2011) PROGRAMMING ASSIGNMENT #3 Due Thursday, April 7 @ 11:00 PM for 100 points Early bonus date: Wednesday, April 6 @ 11:00 PM for a 10 point bonus Initial Schedule due Thursday, March

More information

CS 170 Java Programming 1. Week 7: More on Logic

CS 170 Java Programming 1. Week 7: More on Logic CS 170 Java Programming 1 Week 7: More on Logic What s the Plan? Topic 1: A Little Review Use relational operators to compare values Write functions using if and else to make decisions Topic 2: New Logical

More information

Lab 1: Space Invaders. The Introduction

Lab 1: Space Invaders. The Introduction Lab 1: Space Invaders The Introduction Welcome to Lab! Feel free to get started until we start talking! The lab document is located on course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ Be sure

More information

[ 8 marks ] Demonstration of Programming Concepts

[ 8 marks ] Demonstration of Programming Concepts Assignment 9 Due: Mon, December 5 before 11:59 PM (no extensions, no grace days, late assignments receive 0) Final Project This is a self-directed assignment where you get to decide what your Processing

More information

CS 241 Data Organization. August 21, 2018

CS 241 Data Organization. August 21, 2018 CS 241 Data Organization August 21, 2018 Contact Info Instructor: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Room 2120 of Farris Web site: www.cs.unm.edu/~vasek/cs241/

More information

V-Ray RT: A New Paradigm in Photorealistic Raytraced Rendering on NVIDIA GPUs. Vladimir Koylazov Chaos Software.

V-Ray RT: A New Paradigm in Photorealistic Raytraced Rendering on NVIDIA GPUs. Vladimir Koylazov Chaos Software. V-Ray RT: A New Paradigm in Photorealistic Raytraced Rendering on NVIDIA s Vladimir Koylazov Chaos Software V-Ray RT demonstration V-Ray RT demonstration V-Ray RT architecture overview Goals of V-Ray RT

More information

THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations (Semester 2) COMP4610/COMP6461 (Computer Graphics) Final Exam

THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations (Semester 2) COMP4610/COMP6461 (Computer Graphics) Final Exam THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations (Semester 2) 2015 COMP4610/COMP6461 (Computer Graphics) Final Exam Writing Period: 3 hours duration Study Period: 15 minutes duration. During this

More information

CS 184: Assignment 4 Simple Raytracer

CS 184: Assignment 4 Simple Raytracer CS 184: Assignment 4 Simple Raytracer Ravi Ramamoorthi 1 Introduction This assignment asks you to write a first simple raytracer. Raytracers can produce some of the most impressive renderings, with high

More information

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018 Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018 CSCI 136 Section 00 Instructor: Michael Cassens Office: SS 411 Office Hours: MWF 11:00-11:50 am or by appt Phone: (415) 787-0577 E-mail: michael.cassens@mso.umt.edu

More information

Homework #2. Shading, Ray Tracing, and Texture Mapping

Homework #2. Shading, Ray Tracing, and Texture Mapping Computer Graphics Prof. Brian Curless CSE 457 Spring 2000 Homework #2 Shading, Ray Tracing, and Texture Mapping Prepared by: Doug Johnson, Maya Widyasari, and Brian Curless Assigned: Monday, May 8, 2000

More information

Lab Session # 3 Conditional Statements. ALQUDS University Department of Computer Engineering

Lab Session # 3 Conditional Statements. ALQUDS University Department of Computer Engineering 2013/2014 Programming Fundamentals for Engineers Lab Lab Session # 3 Conditional Statements ALQUDS University Department of Computer Engineering Objective: Our objective for today s lab session is to introduce

More information

Lab 1: Simon. The Introduction

Lab 1: Simon. The Introduction Lab 1: Simon The Introduction Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: http://users.wpi.edu/~ndemarinis/ece2049/ You do not need

More information

CS 113: Introduction to

CS 113: Introduction to CS 113: Introduction to Course information MWF 12:20-1:10pm 1/21-2/15, 306 Hollister Hall Add/drop deadline: 1/28 C Instructor: David Crandall See website for office hours and contact information Prerequisites

More information

Introduction to Data Structures

Introduction to Data Structures 15-121 Introduction to Data Structures Lecture #1 Introduction 28 August 2019 Margaret Reid-Miller Today Course Administration Overview of Course A (very basic) Java introduction Course website: www.cs.cmu.edu/~mrmiller/15-121

More information

CMSC433 - Programming Language Technologies and Paradigms. Introduction

CMSC433 - Programming Language Technologies and Paradigms. Introduction CMSC433 - Programming Language Technologies and Paradigms Introduction Course Goal To help you become a better programmer Introduce advanced programming technologies Deconstruct relevant programming problems

More information

COS 116 The Computational Universe Laboratory 10: Computer Graphics

COS 116 The Computational Universe Laboratory 10: Computer Graphics COS 116 The Computational Universe Laboratory 10: Computer Graphics As mentioned in lecture, computer graphics has four major parts: imaging, rendering, modeling, and animation. In this lab you will learn

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Intro to CSC116 Instructors Course Instructor:

More information

CISC 3130 Data Structures Spring 2018

CISC 3130 Data Structures Spring 2018 CISC 3130 Data Structures Spring 2018 Instructor: Ari Mermelstein Email address for questions: mermelstein AT sci DOT brooklyn DOT cuny DOT edu Email address for homework submissions: mermelstein DOT homework

More information

15-213/18-213/15-513, Fall 2017 C Programming Lab: Assessing Your C Programming Skills

15-213/18-213/15-513, Fall 2017 C Programming Lab: Assessing Your C Programming Skills 15-213/18-213/15-513, Fall 2017 C Programming Lab: Assessing Your C Programming Skills 1 Logistics Assigned: Tues., Aug. 29, 2017 Due: Thurs., Sept. 7, 11:59 pm Last possible hand in: Tues., Sept. 7, 11:59

More information

Programming Assignment HW4: CPU Scheduling v03/17/19 6 PM Deadline March 28th, 2019, 8 PM. Late deadline with penalty March 29th, 2019, 8 PM

Programming Assignment HW4: CPU Scheduling v03/17/19 6 PM Deadline March 28th, 2019, 8 PM. Late deadline with penalty March 29th, 2019, 8 PM CS 370: OPERATING SYSTEMS SPRING 2019 Department of Computer Science URL: http://www.cs.colostate.edu/~cs370 Colorado State University INSTRUCTOR: Yashwant Malaiya Programming Assignment HW4: CPU Scheduling

More information

CSCI 1100L: Topics in Computing Spring 2018 Web Page Project 50 points

CSCI 1100L: Topics in Computing Spring 2018 Web Page Project 50 points CSCI 1100L: Topics in Computing Spring 2018 Web Page Project 50 points Project Due (All lab sections): Check on elc Assignment Objectives: Lookup and correctly use HTML tags. Lookup and correctly use CSS

More information

15-213, Spring 2008 Lab Assignment L1: Manipulating Bits Assigned: Jan. 15, Due: Wed., Jan. 30, 11:59PM

15-213, Spring 2008 Lab Assignment L1: Manipulating Bits Assigned: Jan. 15, Due: Wed., Jan. 30, 11:59PM 15-213, Spring 2008 Lab Assignment L1: Manipulating Bits Assigned: Jan. 15, Due: Wed., Jan. 30, 11:59PM Randy Bryant (Randy.Bryant@cs.cmu.edu) is the lead person for this assignment. 1 Introduction The

More information

High Performance Computing MPI and C-Language Seminars 2009

High Performance Computing MPI and C-Language Seminars 2009 High Performance Computing - Seminar Plan Welcome to the High Performance Computing seminars for 2009. Aims: Introduce the C Programming Language. Basic coverage of C and programming techniques needed

More information

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development

University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development University of Maryland at College Park Department of Geographical Sciences GEOG 477/ GEOG777: Mobile GIS Development Instructor: Dr. Ruibo Han Office: LeFrak Hall (LEF) 1111B Email: ruibo@umd.edu (preferred)

More information

CSCI 204 Introduction to Computer Science II

CSCI 204 Introduction to Computer Science II CSCI 204 Project 2 Maze Assigned: Wednesday 09/27/2017 First Phase (Recursion) Due Friday, 10/06/2017 Second Phase (Stack) Due Monday, 10/16/2017 1 Objective The purpose of this assignment is to give you

More information

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

In this course, you need to use Pearson etext. Go to Pearson etext and Video Notes. **Disclaimer** This syllabus is to be used as a guideline only. The information provided is a summary of topics to be covered in the class. Information contained in this document such as assignments, grading

More information

COL100 Lab 2. I semester Week 2, Open the web-browser and visit the page and visit the COL100 course page.

COL100 Lab 2. I semester Week 2, Open the web-browser and visit the page   and visit the COL100 course page. COL100 Lab 2 I semester 2017-18 Week 2, 2017 Objective More familiarisation with Linux and its standard commands Part 1 1. Login to your system and open a terminal window. 2. Open the web-browser and visit

More information

Lecture 1: Overview & Intro to Java

Lecture 1: Overview & Intro to Java Lecture 1: Overview & Intro to Java CS 62 Spring 2018 Alexandra Papoutsaki & William Devanny http://www.cs.pomona.edu/classes/cs062 1 Welcome! https://commons.wikimedia.org/w/index.php?curid=8004317 2

More information

Lasell College s Moodle 3 Student User Guide. Access to Moodle

Lasell College s Moodle 3 Student User Guide. Access to Moodle Access to Moodle The first session of this document will show you how to access your Lasell Moodle course, how to login, and how to logout. 1. The homepage of Lasell Learning Management System Moodle is

More information

Learning Objective. Project Objective

Learning Objective. Project Objective Table of Contents 15-440: Project 1 Remote File Storage and Access Kit (File Stack) Using Sockets and RMI Design Report Due Date: 14 Sep 2011 Final Due Date: 3 Oct 2011 Learning Objective...1 Project Objective...1

More information

Due: March 8, 11:59pm. Project 1

Due: March 8, 11:59pm. Project 1 COS 433: Cryptography (Spring 2018) Project 1 Princeton University Due: March 8, 11:59pm Project 1 Introduction You are interning at the super secretive SLA (Three Letter Agency). The SLA has intercepted

More information

Recommended Group Brainstorm (NO computers during this time)

Recommended Group Brainstorm (NO computers during this time) Recommended Group Brainstorm (NO computers during this time) Good programmers think before they begin coding. Part I of this assignment involves brainstorming with a group of peers with no computers to

More information

EECE.2160: ECE Application Programming Spring 2017

EECE.2160: ECE Application Programming Spring 2017 Course Meetings Section 201: MWF 8-8:50, Ball 314 Section 202: MWF 12-12:50, Kitson 305 Course Website Main page: http://mjgeiger.github.io/eece2160/sp17/ Schedule: http://mjgeiger.github.io/eece2160/sp17/schedule.htm

More information

New York University Computer Science Department Courant Institute of Mathematical Sciences

New York University Computer Science Department Courant Institute of Mathematical Sciences New York University Computer Science Department Courant Institute of Mathematical Sciences Course Title: Data Communications & Networks Course Number: g22.2662-001 Instructor: Jean-Claude Franchitti Session:

More information

CS 241 Data Organization using C

CS 241 Data Organization using C CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am

More information

COP Spring 2011 Assignment 4 Working with Servers Due Monday, 28th February in class (17H15)

COP Spring 2011 Assignment 4 Working with Servers Due Monday, 28th February in class (17H15) COP3502 - Spring 2011 Assignment 4 Working with Servers Due Monday, 28th February in class (17H15) February 2, 2011 1 Objective In this assignment you will be asked to use a virtual machine. You will configure

More information

Laboratory Assignment #3 Eclipse CDT

Laboratory Assignment #3 Eclipse CDT Lab 3 September 12, 2010 CS-2303, System Programming Concepts, A-term 2012 Objective Laboratory Assignment #3 Eclipse CDT Due: at 11:59 pm on the day of your lab session To learn to learn to use the Eclipse

More information

Advanced Client-Side Web Programming CSCI 491/595 Syllabus Fall 2018

Advanced Client-Side Web Programming CSCI 491/595 Syllabus Fall 2018 Advanced Client-Side Web Programming CSCI 491/595 Syllabus Fall 2018 CSCI 491/595 Section 00 Instructor: Michael Cassens Office: SS 411 Office Hours: MWF 11:00-11:50 am or by appt Phone: (415) 787-0577

More information

CIS 101 Orientation Document Fall 2017

CIS 101 Orientation Document Fall 2017 CIS 101 Orientation Document Fall 2017 Fall 2017 ONLINE section 23989 To be successful in an online section you must be motivated, disciplined, and able to read and understand the material in the books

More information

THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations(Semester 2) COMP4610/COMP6461 (Computer Graphics) Final Exam

THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations(Semester 2) COMP4610/COMP6461 (Computer Graphics) Final Exam THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations(Semester 2) 2009 COMP4610/COMP6461 (Computer Graphics) Final Exam Writing Period: 3 hours duration Study Period: 15 minutes duration - you may read

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Intro to CSC116 Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Course Instructor: Instructors

More information

Programming Assignment #3: Global Placement (due 6pm, May 20, 2018 on-line)

Programming Assignment #3: Global Placement (due 6pm, May 20, 2018 on-line) National Taiwan University Graduate Institute of Electronics Engineering May 3, 2018 Department of Electrical Engineering Handout #12 Physical Design for Nanometer ICs, Spring 2018 Yao-Wen Chang & Yu-Sheng

More information

Lecture 7. Instructor: Craig Duckett OUTPUT

Lecture 7. Instructor: Craig Duckett OUTPUT Lecture 7 Instructor: Craig Duckett OUTPUT Lecture 7 Announcements ASSIGNMENT 2 is due LECTURE 8 NEXT LECTURE uploaded to StudentTracker by midnight Assignment 2!!! Assignment Dates (By Due Date) Assignment

More information

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

In this course, you need to use Pearson etext. Go to Pearson etext and Video Notes. **Disclaimer** This syllabus is to be used as a guideline only. The information provided is a summary of topics to be covered in the class. Information contained in this document such as assignments, grading

More information

CSE100 Principles of Programming with C++

CSE100 Principles of Programming with C++ 1 Instructions You may work in pairs (that is, as a group of two) with a partner on this lab project if you wish or you may work alone. If you work with a partner, only submit one lab project with both

More information

Assignment 2 Ray Tracing

Assignment 2 Ray Tracing Assignment 2 Ray Tracing Overview The concept of ray tracing: a technique for generating an image by tracing the path of light through pixels in an image plane and simulating the effects of its encounters

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

CSC-140 Assignment 6

CSC-140 Assignment 6 CSC-140 Assignment 6 1 Introduction In this assignment we will start out defining our own classes. For now, we will design a class that represents a date, e.g., Tuesday, March 15, 2011, or in short hand

More information

COMP Data Structures

COMP Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Based on notes by S. Durocher. 1 / 35 Introduction Introduction 1 / 35 Introduction In a Glance... Data structures are building blocks for designing

More information

If you click the links in this document or on the class website and get a logon screen:

If you click the links in this document or on the class website and get a logon screen: Introduction The enclosed information is required reading by the end of the first day of class. Hopefully it will answer your questions and get you on the right track for successfully completing the course.

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

Course Syllabus: Linux Essentials

Course Syllabus: Linux Essentials Course Syllabus: Linux Essentials Instructor: Roger Elliott Email: rlelliott@c-tec.edu Phone: Office: (740) 364-2299 Cell: (740) 814-7504 Course text Course #: Hours: Meeting Days & Times: Location Linux

More information

COMP Data Structures

COMP Data Structures COMP 2140 - Data Structures Shahin Kamali Topic 1 - Introductions University of Manitoba Based on notes by S. Durocher. COMP 2140 - Data Structures 1 / 35 Introduction COMP 2140 - Data Structures 1 / 35

More information

ENCE 3241 Data Lab. 60 points Due February 19, 2010, by 11:59 PM

ENCE 3241 Data Lab. 60 points Due February 19, 2010, by 11:59 PM 0 Introduction ENCE 3241 Data Lab 60 points Due February 19, 2010, by 11:59 PM The purpose of this assignment is for you to become more familiar with bit-level representations and manipulations. You ll

More information

CMPT 115. C tutorial for students who took 111 in Java. University of Saskatchewan. Mark G. Eramian, Ian McQuillan CMPT 115 1/32

CMPT 115. C tutorial for students who took 111 in Java. University of Saskatchewan. Mark G. Eramian, Ian McQuillan CMPT 115 1/32 CMPT 115 C tutorial for students who took 111 in Java Mark G. Eramian Ian McQuillan University of Saskatchewan Mark G. Eramian, Ian McQuillan CMPT 115 1/32 Part I Starting out Mark G. Eramian, Ian McQuillan

More information

Programming Karel the Robot

Programming Karel the Robot Programming Karel the Robot Announcements Five Handouts Today: Honor Code Downloading Eclipse Running Karel Programs in Eclipse Programming Assignment #1 Submitting Programming Assignments Please only

More information

EECE.2160: ECE Application Programming

EECE.2160: ECE Application Programming Spring 2018 Programming Assignment #10: Instruction Decoding and File I/O Due Wednesday, 5/9/18, 11:59:59 PM (Extra credit ( 4 pts on final average), no late submissions or resubmissions) 1. Introduction

More information

CS Simple Raytracer for students new to Rendering

CS Simple Raytracer for students new to Rendering CS 294-13 Simple Raytracer for students new to Rendering Ravi Ramamoorthi This assignment should be done only by those small number of students who have not yet written a raytracer. For those students

More information

CPSC150L Lab 0 Lab Set Up

CPSC150L Lab 0 Lab Set Up CPSC150L Lab 0 Lab Set Up Fall 2016 Welcome to the laboratory exercises that accompany the lecture course CPSC 150 Computers and Programming I. These lab exercises are designed to support and complement

More information

EDA Spring, Project Guidelines

EDA Spring, Project Guidelines Project Guidelines This document provides all information regarding the project rules, organization and deadlines. Hence, it is very important to read it carefully in order to know the rules and also to

More information

WELCOME! (download slides and.py files and follow along!) LECTURE 1

WELCOME! (download slides and.py files and follow along!) LECTURE 1 WELCOME! (download slides and.py files and follow along!) 6.0001 LECTURE 1 6.0001 LECTURE 1 1 TODAY course info what is computation python basics mathematical operations python variables and types NOTE:

More information

Computer Graphics Tick 1

Computer Graphics Tick 1 Computer Graphics Tick 1 Introduction to Ray Tracing Figure 1: The image you will create in this exercise. 1 Introduction In this exercise you will write code for a simple ray tracer. Ray tracing is a

More information

Lab Exercise 6: Abstract Classes and Interfaces CS 2334

Lab Exercise 6: Abstract Classes and Interfaces CS 2334 Lab Exercise 6: Abstract Classes and Interfaces CS 2334 September 29, 2016 Introduction In this lab, you will experiment with using inheritance in Java through the use of abstract classes and interfaces.

More information

COMPUTER GRAPHICS AND INTERACTION

COMPUTER GRAPHICS AND INTERACTION DH2323 DGI17 COMPUTER GRAPHICS AND INTERACTION INTRODUCTION TO RAYTRACING Christopher Peters CST, KTH Royal Institute of Technology, Sweden chpeters@kth.se http://kth.academia.edu/christopheredwardpeters

More information

Movie: For The Birds. Announcements. Ray Tracing 1. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available

Movie: For The Birds. Announcements. Ray Tracing 1. Programming 2 Recap. Programming 3 Info Test data for part 1 (Lines) is available Now Playing: Movie: For The Birds Pixar, 2000 Liar Built To Spill from You In Reverse Released April 11, 2006 Ray Tracing 1 Rick Skarbez, Instructor COMP 575 November 1, 2007 Announcements Programming

More information

15-213/18-213/15-513, Spring 2018 C Programming Lab: Assessing Your C Programming Skills

15-213/18-213/15-513, Spring 2018 C Programming Lab: Assessing Your C Programming Skills 15-213/18-213/15-513, Spring 2018 C Programming Lab: Assessing Your C Programming Skills 1 Logistics Assigned: Tues., Jan. 16, 2018 Due: Sun., Jan. 21, 11:59 pm Last possible hand in: Sun., Jan. 21, 11:59

More information