3D Graphics Programming Mira Costa High School - Class Syllabus,

Similar documents
AP Computer Science A Mira Costa High School - Class Syllabus,

Homeschool Programming, Inc.

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

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

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

AP Computer Science A Syllabus

AP Computer Science AB

Curriculum Map Grade(s): Subject: AP Computer Science

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

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

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

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

JAVA CONCEPTS Early Objects

San Jose State University - Department of Computer Science

Course: Honors AP Computer Science Instructor: Mr. Jason A. Townsend

Basics of Java Programming CS129 LTPC:

NJCCCS AREA: Mathematics. North Brunswick Township Public Schools AP COMPUTER SCIENCE. Acknowledgements. Vivian Morris, Mathematics Teacher

CS 210 Algorithms and Data Structures College of Information Technology and Engineering Weisberg Division of Engineering and Computer Science

AP Computer Science A Course Syllabus

CoSci 440 SYLLABUS Programming in C++ INSTRUCTOR Mari Rettke cell SECTION : and 13345

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

ITT Technical Institute. SD1420 Introduction to Java Programming Onsite and Online Course SYLLABUS

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

COWLEY COLLEGE & Area Vocational Technical School

AP Computer Science A

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

CMPE/SE 135 Object-Oriented Analysis and Design

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

MyProgram m i ng Lab. get with the programming. Through the power of practice and immediate personalized

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

Week. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical

CSCI 528: OBJECT ORIENTED PROGRAMMING, Fall 2015

COURSE TITLE. Introduction to Java LENGTH. One Semester Grades DEPARTMENT. Computer Department Barbara O Donnell, Supervisor SCHOOL

Lesson Plan. Subject: OBJECT ORIENTED PROGRAMMING USING C++ :15 weeks (From January, 2018 to April,2018)

Big Java Late Objects

This page intentionally left blank

INSTITUTE OF AERONAUTICAL ENGINEERING (Autonomous) Dundigal, Hyderabad

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

Syllabus & Curriculum for Certificate Course in Java. CALL: , for Queries

EXPERIMENTS IN COMPUTER SCIENCE

The Oracle Academy Supports 1.5 million students in 95 countries

AP Computer Science A Syllabus DRAFT 0.3 June 27th, 2015 Course Overview

CMPT 126: Introduction to Computing Science and Programming Fall 2007, Harbour Centre

CS2013 Course Syllabus Spring 2018 Lecture: Mon/Wed 2:00 P.M. 2:50 P.M. SH C259 Lab: Mon/Wed 2:50 P.M. 4:00 P.M. SH C259

AP Computer Science A Syllabus

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

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


SAULTCOLLEGE OF APPLIED ARTS AND TECHNOLOGY SAULT STE. MARIE, ONTARIO COURSE OUTLINE

Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p.

AP Computer Science Course Syllabus

CompuScholar, Inc. 9th - 12th grades

CMPE 152 Compiler Design

Object-Oriented Programming for Managers

CONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17

Introduction to Computer Science with Python Course Syllabus

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Spring 2018

Course: AP Computer Science A Description and Syllabus Description of Course:

CO Java SE 8: Fundamentals

CS503 Advanced Programming I CS305 Computer Algorithms I

Department of Networks College of Bardarash Technical Institute DUHOK Polytechnic University Subject: Programming Fundamental by JAVA Course Book

SY nd Sem Syllabi-All Courses.xlsx - 2S-APCSA Page 1 of 5

GUJARAT TECHNOLOGICAL UNIVERSITY

Syllabus Honors Java Programming 1 & 2

Cleveland State University

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

Object-Oriented Programming and Data Structures

COSC 115A: Introduction to Web Authoring Fall 2014

COURSE SYLLABUS ****************************************************************************** YEAR COURSE OFFERED: 2015

Algorithms and Data Structures Spring 2008

IMACS: AP Computer Science A

Bloss, Adrienne and N. Jane Ingram. Lab Manual to Accompany Java Software Solutions. New York, New York: Pearson Education, Inc, 2003.

Java Programming. Price $ (inc GST)


Beginning Programming (Two Semesters) Semester One. Module One: Intro to Beginning Programming. Module Two: Computer Careers

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

INSTITUTE OF AERONAUTICAL ENGINEERING

Model 4.2 Faculty member + student Course syllabus for Advanced programming language - CS313D

BCIS 3630 Dr. GUYNES FALL 2014 MONDAY SECTION

CSC 1052 Algorithms & Data Structures II: Introduction

CSE 114, Computer Science 1 Course Information. Spring 2017 Stony Brook University Instructor: Dr. Paul Fodor

EL CAMINO COLLEGE COURSE OUTLINE OF RECORD. Grading Method: Letter Credit/No Credit Both No Grade

Curriculum Mapping for National Curriculum Statement Grades R-12 and Oracle Academy.

AP COMPUTER SCIENCE A: SYLLABUS

5/23/2015. Core Java Syllabus. VikRam ShaRma

CSC 210 COMPUTER SCIENCE II

Computer Science 210: Data Structures

AP Computer Science in Java Course Syllabus

CS120 Computer Science I. Instructor: Jia Song

Total Test Questions: 43 Levels: Grades Units of Credit:.50

COLLEGE OF THE DESERT

TeenCoder : Java Programming (ISBN )

Introduction to Programming Using Java (98-388)

This course supports the assessment for Scripting and Programming Applications. The course covers 4 competencies and represents 4 competency units.

COURSE OVERVIEW. Successful completion of this course may provide one semester of college credit for computer science.

Object Oriented Programming CS104 LTPC:

ощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV

Transcription:

3D Graphics Programming Mira Costa High School - Class Syllabus, 2009-2010 INSTRUCTOR: Mr. M. Williams COURSE GOALS and OBJECTIVES: 1 Learn the fundamentals of the Java language including data types and programming structure. 2 Learn Object Oriented Programming concepts and building programs from sets of objects. 3 Learn programming logic such as decisions, iterations, and software debugging techniques. 4 Program 2d and 3d graphics based on an application programming interface. 5 Program constructs such as arrays, user interfaces, data input/output and exception handling. 6 Prepare for the AP Computer Science A test on May 4, 2010. 7 Learn vocations such as scripting languages of 3d modeling programs, and programming of wireless devices (cell phones). 8 Gain insights into careers and future technologies. OVERVIEW OF COURSE: This year-long course closely follows Java Concepts, 5th edition by Cay Horstman. While nearly all subject matter will be covered, emphasis will include: object-oriented design; 2d and 3d graphics; programming logic; event handling of input & output, data types casting and error-handling; and good software engineering principles. The course will be taught in a computer lab, with each student having access to their own internetconnected computer. Lectures will be interspersed with keyboard time. While students are working on assignments, students are encouraged to ask the Instructor for any assistance, programming help or other issues. New topics require more lecture time initially, but course time will be approximately 1/3 lecture, and 2/3 lab assignments. While there is no substitute for programming experience, and programming assignments will be the best source of learning, tests will occur every two to four weeks. COURSE MAJOR TOPICS 1) Variables, data types, basic programming structure and mathematics. 2) Fundamental constructs of programming: if-then-else statements, for-loops, while-loops. 3) Object Oriented Programming concepts: constructors, encapsulation, events, inheritance, interfaces, methods and polymorphism. 4) Graphical user interfaces such as buttons, select boxes, and scroll bars. 5) Handling keyboard and mouse events including exception handling and data input/output. 6) Integrate the OpenGL application programming interface to build 3d applications. 7) College Board's 'GridWorld' exercises 1 though 4 in preparation for the AP Computer Science A test. 8) Programming of emerging vocations, developing cell phone applications or scripting (programming) of 3d modeling tools. Mira Costa High School 3D Graphics Programming/Computer Science 2009-10 syllabus 8/31/2009, Page 1 of 8

ACTIVITIES, ASSIGNMENTS and GRADING CRITERIA Course will be composed of lectures, in-class assignments, computer programming activities, and major projects. Grading will be based on approximate values (subject to change): Homework 35%; Projects 35%; Quizzes 10%; Mid-Term/Final 15%; Teacher Evaluation 5%. Tests will be approximately every two to four weeks. Late assignments: 20% deduction from the total + 10% per week late after the second week. All homework, tests with programming assignments, and major projects will be graded upon two criteria: 80% of the grade will be based on the actual assignment such as arriving at the correct answer. 20% for style, including: properly commented Java code with a header at the beginning that includes name, date, assignment and a short two sentence description of the project. Style also includes: descriptive variable names; correct indentation of Java code; concise coding with a minimum of repeated code; and proper English. INSTRUCTOR CONTACT INFORMATION: mawilliams@manhattan.k12.ca.us COURSE WEB SITE: http://mchs.virtualbeach.com/3dgp/ PREREQUISITES: Concurrent enrollment or completion of Geometry. OTHER REFERENCE WEB SITES: College Board, AP Computer Science A: http://www.collegeboard.com/student/testing/ap/sub_compscia.html?compscia College Board, AP Computer Science A, GridWorld case study http://www.collegeboard.com/student/testing/ap/compsci_a/case.html?compscia Sun's Java web site: http://java.sun.com Java JDK download: http://java.sun.com/javase/downloads/index.jsp eclipse editor http://www.eclipse.org/downloads/ BOOKS: Horstmann, Cay, Java Concepts. 5 th ed., New Jersey, John Wiley & Sons, ISBN 978-0-470-10555-9 Horstmann, Cay, Big Java. 3rd ed., New Jersey, John Wiley & Sons, ISBN 978-0-470-10554-2 (not used) Mira Costa High School 3D Graphics Programming/Computer Science 2009-10 syllabus 8/31/2009, Page 2 of 8

SCHEDULE (subject to change) Fall Semester: Unit 1: weeks 1, 2, 3; Sept. 2-18 Class introductions Introduction to Java, first program Hello World and print statements Java Compilers and Java Runtime programs. The eclipse development environment. Using debuggers. Introduction to Applets vs. Stand-alone Java programs Objects and Object-oriented programming (on-going) Number data types Basic Graphics Quick Start on programming. Introduce essentials of writing, compiling and running Java. Allowing students the opportunity and instant gratification to post their own Java applets and create some fun graphics. Java Concepts, chapters 1 & 2 GridWorld, Part 1 Unit 2: week 4, 5, 6; Sept. 21 Oct. 9 Designing Classes Constructing Classes Drawing unique shapes Advanced Data Types Arithmetic in Java, including modula Math statements such as increment (i+ +) and decrement (i--) Conversions / round-offs between floating point, double precision and integers. Software Engineering principles in program structure. Reading Input Introduce classes, the main component to object-oriented programming. Learn math and data type constructs to design computational-intensive programs. Learn best-practices in programming to design readable code and best for debugging. Java Concepts, chapters 3, 4 Triangle Area and Perimeter Unit 3: week 7, 8, 9; Oct. 13-30 Mira Costa High School 3D Graphics Programming/Computer Science 2009-10 syllabus 8/31/2009, Page 3 of 8

Decisions: if-then-else statements Differences between = and == and other comparison statements while-loops for iterations of an nonpredetermined length for-loops for iterations of a predetermined length nested loops Random numbers for simulations Arrays, the array object and length property Compare math equations versus strings in if-then-else statement. Write code that makes logical decisions. Learn program flow with for-loops and while-loops. Build applications based on random inputs. Introduce arrays. Java Concepts, chapters 5, 6 & 7.1 GridWorld, Part 2 Unit 4: weeks 10, 11, 12; Nov. 2-20 Introduction of the Date and/or Calendar object Enumerated lists Array Lists: creation, add(), set() Enhanced Array Lists for-loops Two-dimensional arrays Copying arrays Designing Classes Call by Value versus Call by Reference Preconditions/Postconditions and Assertions instead of Exception Handling. Static Methods (such as Math object) & Fields Using 'this' to distinguish variable from this.variable. Packages Demonstrate dynamic programming through iterations and lists in arrays. Learn extended applications of arrays in double arrays and enumerated lists. Demonstrate arrays using the Date and/or Calendar object for days of week and months. Class design and issues with class variables. Java Concepts, chapters 7 & 8 Supermarket Checkout Unit 5: weeks 13, 14, 15; Nov. 30 Dec. 18, 2009 Mira Costa High School 3D Graphics Programming/Computer Science 2009-10 syllabus 8/31/2009, Page 4 of 8

Introduction and Implementing Classes: public and private types, and constructors. Interfaces Polymorphism Events and Event Listeners Graphical User Interfaces Extending a super-class and Inheritance Over-riding a superclass method. Call a super-classes' methods and Constructor. Conversion between Subclass and Superclass Describe functions as a prelude to classes. Detail classes, the implementation of object-oriented programming. Build graphical user interfaces to visually demonstrate the concept of classes. Java Concepts, chapters 9 & 10 GridWorld, Part 3 Unit 6: weeks 16, 17, 18; Jan. 4, 2010 Jan. 22 (end of first semester) Reading and Writing Text Files Throwing Exceptions, Catching Exceptions, 'Finally' clause Designing you own Exceptions such as Divide-by-Zero Mid-Term: January 20 th (tentative) Introduce related topics of GUI, Java Swing, and Event Handling. Read and write text files to save data. Investigate possible errors and how to handle them gracefully. Create our own exception conditions such as divide-by-zero, or users typing in letters where numeric values are required (and vice versa). Java Concepts, chapters 11 Calculator Mira Costa High School 3D Graphics Programming/Computer Science 2009-10 syllabus 8/31/2009, Page 5 of 8

Spring Semester: Unit 7: week 19, 20, 21; Jan. 25 Feb. 12 Software Development Life Cycle Mythical Man-Month theory Class Design Considerations Recursion Permutations Recursion Performance Begin fundamental 3D Graphics Programming with displaying simple objects in a window. Begin new semester with advanced topics of professional software development management.. Learn recursion programs that call themselves. Introduce 3D graphics programming. Java Concepts, chapters 12 & 13 GridWorld, Part 4 Unit 8: week 22, 23, 24; Feb. 22 March 12 Selection Sort Merge Sort Measuring Sorting and Searching performance. 3D Graphics Programming: cameras and lights. Learn tools and optimal ways to search large databases. Add camera and light objects to 3D graphics scenes. Inventory System of perishable vs. nonperishable items. Java Concepts, chapters 14 Unit 9: week 25, 26, 27; March 15 April 9 (off Mar. 29 Apr. 2) Mira Costa High School 3D Graphics Programming/Computer Science 2009-10 syllabus 8/31/2009, Page 6 of 8

Linked Lists Linked List Iterations Stacks and Queues Circular Data structures Binary Tree Structure 3D Graphics Programming: Script programming of 3D modeling programs (tentative) Managing dynamic lists of data. Investigate different types of data structures to represent different ways to manage inventory. Fast methods to search data. Java Concepts, chapters 15 to be determined Unit 10: week 28, 29, 30; April 12-30 Reviews and practices for AP exam 3D Graphics Programming: animation and interactivity Practice for the AP Computer Science A test. Practice 3d graphics development adding interactivity and animation. none Team projects, to be determined Unit 11: week 31, 32, 33; May 3- May 21 AP Computer Science A test, May 4 th 3D Graphics Programming: advanced topics and projects. Possibly Audio with Java Build projects using 3d graphics programming tools. none Team projects to be determined Mira Costa High School 3D Graphics Programming/Computer Science 2009-10 syllabus 8/31/2009, Page 7 of 8

Unit 12: week 34, 35, 36; May 24 June 11 Team projects completed and demonstrated. Final review Finals between June 4 th and June 18 th Students to do individual projects with audio or video as a fun challenge. Team projects on cell phone project or Java Applet continued. Mira Costa High School 3D Graphics Programming/Computer Science 2009-10 syllabus 8/31/2009, Page 8 of 8