Homeschool Programming, Inc.

Similar documents
AP Computer Science A Syllabus

Web Design Course Syllabus and Planner

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

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

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

AP Computer Science AB

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

CompuScholar, Inc. 9th - 12th grades

AP Computer Science A Syllabus

TeenCoder : Java Programming (ISBN )

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

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

Java Programming with Eclipse

Course Directive Degree Audit Exception

Java 1.8 Programming

CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards

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

AP Computer Science A (Java) Scope and Sequence

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

Oklahoma State University Institute of Technology Online Common Syllabus Fall 2018

AP Computer Science in Java Course Syllabus

The Oracle Academy Supports 1.5 million students in 95 countries

Java Software Solutions for AP Computer Science 3rd Edition, Lewis et al. 2011

IMACS: AP Computer Science A

CENTRAL TEXAS COLLEGE COSC 1337 PROGRAMMING FUNDAMENTALS II. Semester Hours Credit: 3

Parent s Guide to GO Math! Technology Correlation

CSC 210 COMPUTER SCIENCE II

AP Computer Science A

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

Murach s Beginning Java with Eclipse

Syllabus Honors Java Programming 1 & 2

AP Computer Science A

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

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

Course Outline. [ORACLE PRESS] OCA Java SE 8 Programmer Course for Exam 1Z

AP Computer Science A Course Syllabus

Object Oriented Programming: In this course we began an introduction to programming from an object-oriented approach.

BCIS 3630 Dr. GUYNES FALL 2014 MONDAY SECTION

JVA-103. Java Programming

AP Computer Science A Syllabus

Santa Monica College. GRAPHIC DESIGN 65: Web Design I Course Syllabus

Hello! My name is PC and I am learning how to use a computer. Let s learn together! Unit1

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

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

Coding: Beyond Learning Microsoft in Education

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

Developing Microsoft.NET Applications for Windows (Visual Basic.NET)

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

AP Computer Science A Sample Syllabus 4

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

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

CO Java SE 8: Fundamentals

Introduction to Computer Science with Python Course Syllabus

Your Student s Head Start on Career Goals and College Aspirations

Samples of Evidence to Satisfy the AP Computer Science AB Curricular Requirements

School Year Schedule

AP Computer Science AB

SAMPLE RESOURCE. dotty share prices

AP Computer Science A Skyline High School Mr. Coupland

AP Computer Science A Syllabus

This page intentionally left blank

PROGRAM OUTLINE. Information Technology with Co-op, System Programming. PROGRAM DESCRIPTION Concentration 1: DELIVERY METHODS PROGRAM DURATION

COP 1170 Introduction to Computer Programming using Visual Basic

B. Knowledge of basic algebra and experience in problem solving is beneficial. Students should also possess competence in written communication.

CSC 1052 Algorithms & Data Structures II: Introduction

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

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

Application Development in JAVA. Data Types, Variable, Comments & Operators. Part I: Core Java (J2SE) Getting Started

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

Introduction to Programming Using Java (98-388)

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

Big Java Late Objects

Preface. The Purpose of this Book and Its Audience. Coverage and Approach

CGS 2405 Advanced Programming with C++ Course Justification

Java 2. Course Outcome Summary. Western Technical College. Course Information. Course History. Course Competencies

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

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

Appendix A: Objectives and Courseware Locations

COWLEY COLLEGE & Area Vocational Technical School

CIS 120. Introduction to Programming

DHANALAKSHMI SRINIVASAN COLLEGE OF ENGINEERING AND TECHNOLOGY ACADEMIC YEAR (ODD SEM)

Java Camp Daily Schedule

Preface A Brief History Pilot Test Results

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

Review sheet for Final Exam (List of objectives for this course)

Object-Oriented Programming for Managers

104. Intermediate Java Programming

CS 140 Programming with Objects

BCIS 3630 Dr. GUYNES SPRING 2018 TUESDAY SECTION [JAN version] GRADER COURSE WEBSITE

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

Kindergarten Mathematics Curriculum Map

Primary Source Verification. How to Apply

STUDENT LESSON A20 Inheritance, Polymorphism, and Abstract Classes

Math. Common Core. Daily/Spiral Review. Math. Common Core. Daily/Spiral Review. Unit 4. Unit 3. 7 th Grade

Fundamentals of Computer Science CSCI 136 Syllabus Fall 2018

AP CSA 3rd Period MR. D. Course Map

The School District of Palm Beach County Kindergarten Mathematics Scope st Trimester

Computer Programming II Python

MARS AREA SCHOOL DISTRICT Curriculum TECHNOLOGY EDUCATION

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

Transcription:

Online Course Overview Course Title: TeenCoder: Java Programming TeenCoder: Java Programming Online Course Syllabus and Planner Updated November, 2015 Online ISBN: 978-0-9887070-2-3, published 2015 by CompuScholar, Inc. Length: 2 semesters Student Pre-Requisites: Basic computer literacy skills, 9 th 12 th grade status. Description: The TeenCoder: Java Programming curriculum is a one-year (two-semester) course covering introductory Java language skills and all topics found on the AP Computer Science A exam. Information on using this course as preparation for the AP Computer Science A exam (including a College Board-approved syllabus) can be found on our course description page: http://www.homeschoolprogramming.com/teencoder/teencoder_jv_series.php Other introductory programming courses are not required; students merely need to have typical computer usage skills prior to starting this course. Materials: Online Student and Teacher logins Oracle JDK, Eclipse IDE (or alternate IDE at teacher s discretion) Windows or Mac OS personal computer Course activities (hands-on programming assignments) Course instructional videos, lesson text, and supplemental documentation

Labs and Grading Every chapter contains one or more hands-on programming labs where students will create programs to demonstrate understanding of the lesson topics. Projects begin simply with console Java programs and expand into graphical Java programs later in the course. These labs, combined with individual lesson quizzes and end-of-chapter tests, are used to determine the student grade. Please Note: Some course lessons and activities may include opportunities for students to work in teams or small groups. If your student is working individually (e.g. as a homeschooler), simply complete those activities as an individual. One student can perform each of the tasks that would be spread across multiple team members in a group setting. Other lesson sections with peer-supported vocabulary re-enforcement or feedback tasks can be skipped or completed with a teacher, if desired. Course Planner A typical school year consists of approximately 36 calendar weeks or 180 days of school. This course plan covers 30 school weeks of core and AP exam-prep material from late August through mid- April, leaving time prior to the AP exam for review, practice, and make-up work. The plan assumes students are working 3-5 hours per week to stay on pace. Some students may move faster or slower than the suggested pace. Each chapter contains multiple lesson quizzes and a chapter test in addition to the listed Lab assignments. Teachers may choose to add Supplemental Lessons as desired to meet student interest. AP-centric material can be ignored for students not taking the AP exam. 1 Chapter One: Understanding Computer Programming A Survey of Computer Hardware Introduction to Computer Software Common Programming Languages Computer Ethics and Security Establish Development Environment - Install JDK, create working directory, practice submitting projects through the online interface. Class discussion and review of a sample EULA terms and conditions.

2 Chapter Two: Getting Started with Java The Java Platform Writing Your First Program Building and Running from the Command Line Java Classes and Packages Show Time! The student s first Java program will print the current time to the console. The student will compile and run the program from the command line (without an IDE). 3 Chapter Three: The Eclipse IDE Introducing Eclipse Eclipse Java IDE Walk-through Creating an Eclipse Project Help and Reference Documentation 4 Chapter Four: Data Types and Variables Primitive Data Types Variables Printing Data 5 Chapter Five: Working With Strings Reference Data Types Comparing Strings Common String Operations Formatting and Building Strings Converting Between Strings and Numbers Install Eclipse IDE If not already installed, the student will add the Eclipse IDE to their home or school computer. Eclipse Show Time Project The student will recreate the same Show Time project using the Eclipse IDE to write, build, and run the program. Experiment with Data Types The student will demonstrate declaring, initializing, and printing variables of different data types. String Theory The student will create multiple strings and perform a variety of operations on them, including comparison, substrings, formatting, parsing, and case conversion.

6 Chapter Six: User Input Using Command-Line Parameters Interactive User Input Validating User Input 7 Chapter Seven: Basic Flow Control Logical Expressions and Relational Operators Using the "if" Statement The "switch" Statement For Loops While Loops Conversation Piece The student will create a program using a command-line Scanner to obtain a variety of user input, and then format that input into an output story. Fun Factorials The student will demonstrate use of a for() loop, while() loop, and do-while() loop to calculate factorials of an input number. Boundary conditions involving maximum integer sizes are explored and tested. 8 Chapter Eight: Writing Methods Writing and Calling Methods Method Parameters and Return Values Calling Methods 9 Chapter Nine: Debugging and Exceptions Logic Errors, Runtime Errors and Exceptions Catching Exceptions Finding Runtime Errors The Eclipse Debugger Checkerboard The student will write a program that includes a new function to print a checkerboard pattern to the screen given input row and column size parameters. Bug Hunt The student is presented with a program that contains a number of bugs. The student will use the Eclipse debugger and troubleshooting skills to identify and resolve each issue.

10 Chapter Ten: Introduction to OOP Object-Oriented Concepts Defining a Class Public, Private, and Protected Classes Dog House The student will write their first multi-object program and observe the interaction between objects. 11 Chapter Eleven: Objects in Java Constructors Object Interfaces Static Members 12 Chapter Twelve: Graphical Java Programs Java Swing Creating a Simple Window Event-Driven Programming Layout Managers 13 Chapter Thirteen: Swing Input Controls Text and Numeric Input List Input Option Input 14 Chapter Fourteen: Arrays and Collections Arrays (1D and 2D) Java Lists and ArrayLists Iterators Let's Go Racing! The student will create a RaceCar object and an IRacer object. Multiple RaceCar instances will be added to a provided RaceTrack object that knows how to run races through the IRacer interface. Phone Dialer The student s first Java Swing program will show a simple phone keypad and allow users to enter a phone number for display. Pizza Place The student will create a pizza ordering screen to demonstrate proper use of many common UI widgets (check boxes, radio buttons, list boxes, etc). Baseball Stats The student will use 1D arrays of integers and ArrayLists containing Player objects to insert, track and calculate baseball player batting statistics.

15-16 Chapter Fifteen: Inheritance and Polymorphism Learn about the Jail Break! game. Base Classes and Derived Classes Using References to Base and Derived Classes Overriding Base Methods The "Object" Base Class Using Base Features from Derived Classes Game Pieces The student will create three derived classes (Deputy, Henchman, Kingpin) from an abstract base, in preparation for using these classes in the mid-term project. The classes are tested to ensure they meet the requirements using a provided test class. 17-18 Chapter Sixteen: Jail Break Project For the mid-term project the student will complete a game called Jail Break that is based on an old Viking board game. The student will create the abstract hierarchy of pieces (AbstractGamePiece, Deputy, Henchman, Kingpin) and write other logic to complete the game. The project consists of 6 guided lab steps that involve creating new classes, modifying existing code, and integrating with provided starter objects. Each guided step contains a checkpoint for testing to ensure code meets the requirements at each step. Building the Activity Starter Ensure the student can find and build the starter project. Completing JailBreak.reset() Write logic to initialize the game board with pieces in the starting position. Selecting Game Pieces Write game logic to allow selection and de-selection of game pieces. Moving Game Pieces Write game logic (including virtual method overrides) to control game piece movement. Capturing Game Pieces Write game logic to control game piece capturing. Ending the Game Complete the end-of-game logic.

19 Chapter Seventeen: Math Functions in Java Java Math Functions The Binary Number System Creating a MathFactory demonstration Common Algorithms 20 Chapter Eighteen: File Access Data Streams Reading and Writing Text Data Reading and Writing Binary Data 21 Chapter Nineteen: Sorting, Searching and Recursion Recursion Sorting Algorithms Searching Algorithms MathFactory Activity The student will expand the MathFactory lab to include decimal-to-binary conversion. Algorithms Practice The student will gain experience writing their own simple algorithms. Address CSV The student will write a program to convert a list of Address structures to a CSV file on disk, and then read that file back in again and re-populate the address list. Recursive Binary Search The student will write a binary search function to locate a number in a pre-sorted array. 22 Chapter Twenty: Program Efficiency Common Algorithms Algorithm Performance (Big-O) Measuring Sorting Efficiency Comparison of Sorting Algorithms The student will implement timing and datageneration algorithms and measure the performance of 4 different sort routines with various numbers of elements.

23 Chapter Twenty-One: Vector and Bitmap Images Screen Coordinates Drawing Shapes Drawing Images Sky Art The student will use recursion, vector graphics, and image graphics to generate a randomized cloudy sky scene. 24 Chapter Twenty-Two: Object Composition and Copying Functional Decomposition Composite Classes Copying Objects 25 Chapter Twenty-Three: Computer Networking Basic Networking Network Topology Network Addressing 26 Chapter Twenty-Four: Software Engineering Principles Design Processes and Teamwork Java Doc Testing Your Code Designing a Composite Class Students practice defining a composite class from smaller objects. Animal Palace Students will use online tools to find images and store in a shared directory and class web page. Creating JavaDoc HTML The student will add JavaDoc comments to an earlier lab project and generate HTML output using the javadoc tool.

27-28 Chapter Twenty-Five: Team Project Individual students may complete all phases of the team project by themselves, if desired. The final project can be completed before or after the AP exam and the timeline scaled to fit available time. Student-driven labs will cover each phase of the software lifecycle. Project Requirements Project Design Project Implementation Project Testing Team Project Requirements Student teams will define their final project requirements. Project Design Student teams will design their final projects. Team Project Implementation Student teams will code their final project. Team Project Testing Student teams will test their final project. 29-30, or as desired Chapter Twenty-Six: Supplemental Labs This chapter describes the supplemental exemplar labs published by the College Board: Magpie Lab Picture Lab Elevens Lab The 2014-2015 AP exam drops the GridWorld case study in favor of three new labs (Magpie, Picture, Elevens). None of the labs are required, but represent the type of work students should complete prior to taking the exam. Teachers may use any or all of the labs (in whole or part) in order to best meet their classroom needs. Magpie Guided activities in the Magpie Lab. Picture Lab Guided activities in the Picture Lab. Elevens Guided activities in the Elevens Lab. Note: AP teachers must obtain the restricted lab material from the College Board by completing the course audit process. A pre-approved syllabus is available on our website.

31, or as desired Chapter Twenty-Seven: GridWorld Case Study This chapter contains a guided walkthrough of the older College Board GridWorld case study. It is no longer required on the AP exam, but remains an interesting example for students to consider. GridWorld Guided activities in the GridWorld case study. Teachers may use this lab (in whole or part) in order to best meet their classroom needs. 31-32 AP EXAM PRACTICE TESTS, REVIEW, MAKE-UP WORK 33 AP EXAM EARLY MAY 34+ After the exam, the class will work on completion / extension of Team Project or other fun teacher-driven activities. Flexible time used to review and practice for the AP exam. Hands-on activities included in each supplemental lesson. Teachers can assign any mixture of Supplemental Lessons and labs based on class interest. The following Supplemental Lessons are included: Software Development Careers Technical Writing Stacks and Queues Software Development Process Exploring UML Productivity Tools