finkelstein - intermediate programming (spring)

35
SYLLABUS

Upload: morgan-jarvis

Post on 22-Mar-2016

240 views

Category:

Documents


1 download

DESCRIPTION

Finkelstein - Intermediate Programming (Spring)

TRANSCRIPT

Page 1: Finkelstein - Intermediate Programming (Spring)

SYLLABUS

Page 2: Finkelstein - Intermediate Programming (Spring)

Howard High School

Spring 2013 COURSE SYLLABUS

PROGRAM CONCENTRATION: Business Education & Computer Science CAREER PATHWAY: Intermediate Programming is the 3rd course for the completion of the Computer Science Pathway.

COURSE TITLE: Intermediate Programming

Teacher: Joe Finkelstein Email: [email protected]

Room Number: 405 Phone Number: 478-779-4904

Semester: Spring 2013 Tutorial Day: Thursday

Textbook/Resources: Michael Kölling - Introduction

to Programming with Greenfoot Object-Oriented Programming in Java with Games and Simulations

Pearson Education, August 2009

A+ Computer Science Curriculum

Introduction and pre-AP modules

Tutorial Hours: 3:00 – 3:30

Tutorial Location: 405

Department Philosophy: The Career Technology Education Department believes that education’s most important

function is to provide all students with the skills needed for post-secondary and careers. This is accomplished by

providing interest-based programs that meet industry standards.

Course Description: The goal of this course is to deepen students understanding of computing. Students will learn key

concepts of software engineering, graphical user interface, and user interface design. Students will gain a deeper

understanding of basic data structures and use them to solve more complex problems in a collaborative manner.

Students will learn competencies in programming using Java, Alice, Scratch and Jeroo

End-of-Pathway Assessment:

After completing the three courses in any pathway, students will be prepared to take an End-of-Pathway exam to certify

knowledge, skill and understanding. Completing the assessment successfully, allows the student to receive a certificate.

This mandate for end of pathway assessment, set forth in the new Perkins IV Legislation, requires states to implement a

mechanism to ascertain the level of the technical skill attainment on behalf of its CTAE students. We will use the end

of pathway exam administered by SkillsUSA.

Course Prerequisites: Computing in the Modern World and Beginning Programming

Career Pathways: Intermediate Programming completes the Computer Science Pathway.

Bibb County CTAE Pathways

Administration/Information Graphic Communication

Architectural Drawing & Design Interactive Media

Basic Agricultural Science & Technology JROTC

Broadcast & Video Production Law & Justice

Computer Systems & Support Marketing & Management

Computing Nursery & Landscape

Construction Nutrition & Food Science

Culinary Arts Small Business Development

Early Childhood Education Teaching as a Profession

Financial Management – Accounting Therapeutic Services – Medical Services

Financial Management – Services Therapeutic Services – Nursing

Flight Operations Transportation Logistical Support (Automotive)

General Horticulture & Plant Science

Page 3: Finkelstein - Intermediate Programming (Spring)

Standards by Georgia Department of Education for Intermediate programming

HARDWARE AND SOFTWARE COMPONENTS

Students will apply knowledge of hardware and software components. Students will apply knowledge of high-level program

execution.

BCS-IP-1. Students will apply knowledge of hardware and software components. Explain how Boolean logic is related to computer hardware.

Explain how a computer monitor displays text and images.

Explain how a graphical button is displayed and how it knows when it has been pushed.

BCS-IP-2. Students will apply knowledge of high-level program execution. Build an interpreter that executes a simple language.

Build a compiler that translates one simple language to another.

SOFTWARE ENGINEERING

Students will demonstrate knowledge of key concepts in software engineering.

BCS-IP-3. Students will demonstrate knowledge of key concepts in software engineering. Define software engineering.

Compare and contrast software engineering and programming.

List the phases in the software life cycle.

Perform software requirements analysis.

Discuss Extreme Programming and pair programming.

Discuss societal and ethical issues in software engineering.

USER INTERFACE DESIGN (use Microsoft Visual Basic.Net and Javax.Swing) Students will demonstrate knowledge of the important principles in user interface design.

BCS-IP-4. Students will demonstrate knowledge of the important principles in user interface design. List the criteria used to determine the effectiveness of an interface.

Apply user interface design criteria to critique common user interfaces

(car door handle, steering wheels, light switches, cell phones, and VCRs).

Perform a user-centered task analysis. Identify sub-groups of users and their characteristics.

List examples of good and bad user interface designs. Discuss the impact of bad user interface designs.

PROBLEM SOLVING (All programs) Students will apply problem-solving strategies to more advanced problems.

BCS-IP-5. The student will collaboratively develop solutions for specific problems. Collaboratively determine a course of action for problem resolution.

Design algorithms for problem resolution.

Break a task into subtasks required for problem resolution.

Select appropriate tools and technology resources to accomplish a variety of tasks.

Collaboratively design, combine, test, analyze, and adjust coding solutions based on problem-solving

algorithms.

Review and discuss coding solutions for elements of thoroughness and correctness.

PROGRAMMING (All programs) Students will use basic and advanced programming techniques to design, implement, and solve complex problems using an

object-oriented programming language.

BCS-IP-6. Students will design solutions for complex programs using advanced programming techniques and constructs. Implement techniques such as conditional statements, iterative statements, and variables to solve complex problems.

Utilize basic and advanced mathematical expressions to solve complex problems.

Create appropriate arrays and lists.

Utilize various testing and debugging techniques to test classes.

Design classes that can be used in other programs.

Analyze and explain simple programs involving advanced programming constructs.

BCS-IP-7. Students will use and develop algorithms to solve complex problems.

Develop algorithms to solve complex problems using pseudocode.

Interpret algorithms written in pseudocode to code solutions to complex problems.

Identify properties of well-written algorithms in solving complex problems.

Use an Action, Components, and Events (ACE) chart to design your GUI components.

BCS-IP-8. Students will demonstrate knowledge of advanced object-oriented concepts. Define polymorphism, interface, inheritance, encapsulation, and abstract class.

Page 4: Finkelstein - Intermediate Programming (Spring)

Develop programs that use inheritance and interfaces in the development of GUI applications.

DATA STRUCTURES (All programs) Students will apply their knowledge of arrays and lists. Students will demonstrate an understanding of stacks and queues.

BCS-IP-9. Students will apply their knowledge of arrays and lists.

Choose between an array and a list for representing data in a variety of contexts.

Create one- and two-dimensional arrays of the correct size for a variety of problems.

Describe how elements are removed and added to a list.

Implement common searching and sorting algorithms for arrays.

BCS-IP-10. Students will demonstrate an understanding of stacks and queues. Use stacks and queues to solve a variety of problems.

List common uses of stacks and queues.

Explain the function of an event queue.

The exam provided by SkillsUSA for computer programming will be administered near the end of the second

semester to all pathway completers.

Internet Acceptable Use: Use of the Internet must be in support of education and research and consistent with the

educational objectives of the Bibb County School System. The use of the Internet is a privilege, not a right, and

inappropriate use will result in cancellation of those privileges. Any student user not complying with the Bibb County

School System Internet Acceptable Use Agreement shall lose Internet privileges for a period of not less than one week.

FBLA: Future Business Leaders of America (FBLA) is a co-curricular national student organization designed to offer

students the opportunity to participate in leadership activities both in and out of the classroom. Members have the

opportunity to go on field trips, participate in competitive events, perform community service, interact with the business

community, and attend state and national conferences.

Grading Scale*

Area Percentage Area Percentage

Daily Assignments 40% Final Exam 100%

Tests 35%

Projects 25%

Total 100% Total 100%

Daily assignments, tests, and projects

comprise 85% of your final grade.

The Final Exam comprises 15% of

your final grade.

Required Material: Pencil/pen, paper, and notebook/folder/binder/etc.

Classroom Expectations: Give Respect, Get Respect.

All rules included in the Bibb County Code of Conduct Book will be enforced. Additionally, students will abide

by the normal practices of the classroom. These practices include:

- Students will respect the teacher, their fellow students, and their environment.

- Students will not get up out of their seat during class unless called upon.

- Students will take care of all necessities prior to the beginning of class (sharpening pencils, finding

materials, etc.).

- Students will enter class and immediately begin their Activation Activity. No exceptions.

- Students may talk quietly during designated time-frames. Under no circumstances should students talk

while the teacher is instructing.

- Students will sit in their assigned seat each day. The teacher reserves to right to redesign the classroom

seating chart at any time.

- Students may not leave the class during the first 20 minutes nor the last 20 minutes of class.

- Students will not misuse the computers in class in any fashion (Facebook, hacking, games, etc.).

- Students should come to class prepared with notebook, paper, and writing utensil every day.

Page 5: Finkelstein - Intermediate Programming (Spring)

Make-up Policy: It is the responsibility of the student to retrieve make-up assignments for missed school days from

the teacher. Students have five (5) school days to make up missed work. After-school work can be done via

appointment or on Thursdays from 3:00 – 3:30.

Re-do Policy: Students who make a 69 or below on a project or text can re-do the assignment within five (5) school

days. Students will receive a 70 if they pass the assignment on the second attempt. Students will not receive a grade

higher than a 70 for a re-do. After-school work can be done via appointment or on Thursdays from 3:00 – 3:30.

* This course does not have an End of Course Test (EOCT) *

* All rules included in the Bibb County Code of Conduct book will be enforced *

Page 6: Finkelstein - Intermediate Programming (Spring)

Spring 2013 COURSE SYLLABUS – Return Form PROGRAM CONCENTRATION: Business Education & Computer Science

CAREER PATHWAY: Intermediate Programming completes the Computer Science Pathway. COURSE TITLE: Computer Intermediate Programming

The course syllabus is a general plan for the course; all information contained in the course syllabus/calendar is

subject to change. Any changes will be announced in class and a revised syllabus distributed to students to be shared

with their parents/guardians.

Acknowledgment of Receipt: By signing below, the student and parent/guardian acknowledge that they have read and

understood the contents in the 2013 Intermediate Programming syllabus.

Student Name (Print)_________________________________________ Date________________

Student Signature___________________________________________ Date_________________

Parent Name (Print)__________________________________________ Date________________

Parent Signature____________________________________________ Date_________________

Page 7: Finkelstein - Intermediate Programming (Spring)

Pacing guide

Page 8: Finkelstein - Intermediate Programming (Spring)

Intermediate Programming

Instructional Focus Calendar

Spring 2013

Instructional

Day #

Calendar

Date

Standard

Addressed Project-Based Instruction FBLA in the Classroom Current Event

1 7-Jan BCS-IP-1 Introduction and Overview

28-Jan

BCS-IP-1

Boolean Logic relationship to

hardware

39-Jan

BCS-IP-1

Boolean Logic relationship to

hardware

410-Jan

BCS-IP-1

How Monitors Display text and

images

511-Jan

BCS-IP-1

How Monitors Display text and

images

RSW - Intro to Unit/Current

Event

6 14-Jan BCS-IP-1 Use of Graphical Buttons

715-Jan

BCS-IP-2

Compare High Level and Low Level

computer Languages

816-Jan

BCS-IP-2

Compare High Level and Low Level

computer Languages

917-Jan

BCS-IP-2

Build interpereter that executes a

simple language

1018-Jan

BCS-IP-2

Build interpereter that executes a

simple language FBLA Scavenger Hunt RSW - Lesson/Article

11 22-Jan BCS-IP-2 Compilers

12 23-Jan BCS-IP-2 Compilers

13 24-Jan BCS-IP-3 Software Engineering

1425-Jan

BCS-IP-3

Comparison of Software

Engineering to Programming

15 28-Jan BCS-IP-3 Software Lifecycle FBLA Flyer Activity #1 RSW - Lesson/Article

16 29-Jan BCS-IP-3 Software Lifecycle

1730-Jan

BCS-IP-3 Sofware requirements analysis

1831-Jan

BCS-IP-3

Societal and Ethical Issues in

Software Engineering

19 1-Feb BCS-IP-4 User Interface FBLA Letter Activity

20 4-Feb BCS-IP-4 User Interface

Page 9: Finkelstein - Intermediate Programming (Spring)

Intermediate Programming

Instructional Focus Calendar

Spring 2013

Instructional

Day #

Calendar

Date

Standard

Addressed Project-Based Instruction FBLA in the Classroom Current Event

21 5-Feb BCS-IP-4 User Interface

22 6-Feb BCS-IP-4 User Interface

23 7-Feb BCS-IP-4 User Interface

24 8-Feb BCS-IP-4 User Interface FBLA Flyer Activity #2 RSW - Lesson/Article

25 11-Feb BCS-IP-5 Problem Solving

26 12-Feb BCS-IP-5 Algorithms

27 13-Feb BCS-IP-5 Algorithms

28 14-Feb BCS-IP-5 Algorithms

29 15-Feb BCS-IP-5 Task/Sub Task RSW - Lesson/Article

30 19-Feb BCS-IP-5 Appropriate Tool Selection

31 20-Feb BCS-IP-5 Collaborative Design

32 21-Feb BCS-IP-5 Collaborative Design

33 22-Feb BCS-IP-5 Solutions

34 25-Feb BCS-IP-5 Coding Solutions

35 26-Feb BCS-IP-6 Programming

36 27-Feb BCS-IP-6 conditionals

37 28-Feb BCS-IP-6 Arrays

38 1-Mar BCS-IP-6 Testing and Debugging

39 4-Mar BCS-IP-6 Testing and Debugging FBLA Budget Activity

40 5-Mar BCS-IP-6 Design

41 6-Mar BCS-IP-6 Design

42 7-Mar BCS-IP-6 Simple Coding

43 8-Mar BCS-IP-6 Simple Coding RSW - Lesson/Article

44 11-Mar BCS-IP-6 Simple Coding

4512-Mar

BCS-IP-7

Solve Complex Problems with

Aglgorithms

4613-Mar

BCS-IP-7

Solve Complex Problems with

Aglgorithms

47 14-Mar BCS-IP-7 pseudocode

48 18-Mar BCS-IP-7 pseudocode RSW - Lesson/Article

49 19-Mar BCS-IP-7 pseudocode

Page 10: Finkelstein - Intermediate Programming (Spring)

Intermediate Programming

Instructional Focus Calendar

Spring 2013

Instructional

Day #

Calendar

Date

Standard

Addressed Project-Based Instruction FBLA in the Classroom Current Event

50 20-Mar BCS-IP-7 Well Written Code

51 21-Mar BCS-IP-7 Well Written Code

52 22-Mar BCS-IP-7 Well Written Code

53 1-Apr BCS-IP-7 GUIs

54 2-Apr BCS-IP-7 GUIs

55 3-Apr BCS-IP-8 Advanced OO Concepts

56 4-Apr BCS-IP-8 Advanced OO Concepts

57 5-Apr BCS-IP-8 Advanced OO Concepts

58 8-Apr BCS-IP-8 Advanced OO Concepts FBLA Database Activity

59 9-Apr BCS-IP-8 Polymorphism

60 10-Apr BCS-IP-8 Polymorphism

61 11-Apr BCS-IP-8 Encapsulation

62 12-Apr BCS-IP-8 Encapsulation RSW - Lesson/Article

63 15-Apr BCS-IP-8 Encapsulation

64 16-Apr BCS-IP-8 Abstract Class

65 17-Apr BCS-IP-9 Data Structure

66 18-Apr BCS-IP-9 Apply knowledge of Arrays and Lists

67 19-Apr BCS-IP-9 Apply knowledge of Arrays and Lists

6822-Apr

BCS-IP-9

Choosing Between Arrays and

Lists

6923-Apr

BCS-IP-9

Choosing Between Arrays and

Lists

70 24-Apr BCS-IP-9 Two Dimensional Arrays

71 25-Apr BCS-IP-9 Two Dimensional Arrays RSW - Lesson/Article

72 26-Apr BCS-IP-9 Addition and Removal of Items

73 29-Apr BCS-IP-9 Addition and Removal of Items

74 30-Apr BCS-IP-9 Searching and Sorting

75 1-May BCS-IP-10 Stacks and Queues

76 2-May BCS-IP-10 Stacks and Queues

77 3-May BCS-IP-10 Stacks and Queues RSW - Lesson/Article

78 6-May BCS-IP-10 Stacks and Queues

Page 11: Finkelstein - Intermediate Programming (Spring)

Intermediate Programming

Instructional Focus Calendar

Spring 2013

Instructional

Day #

Calendar

Date

Standard

Addressed Project-Based Instruction FBLA in the Classroom Current Event

79 7-May BCS-IP-10 Funcions

80 8-May BCS-IP-10 Final Project

81 9-May BCS-IP-10 Final Project FBLA Tri-fold Activity

82 10-May BCS-IP-10 Final Project FBLA Tri-Fold Activity RSW - Lesson/Article

83 13-May BCS-IP-10 Final Project

84 14-May Final Project

85 15-May Final Exam Review

86 16-May Final Exam Review

87 17-May Final Exam Review

88 20-May Final Exam Review

89 21-May Final Exam

Page 12: Finkelstein - Intermediate Programming (Spring)

Class Projects

Page 13: Finkelstein - Intermediate Programming (Spring)

Class Project

#1

Page 14: Finkelstein - Intermediate Programming (Spring)

Intermediate Programming

Finkelstein

Spring 2013

Project: Eat and Score

Create a game in Greenfoot which incorporates everything that you have learned in the

Turtle Scenario. The game should include a scoreboard which updates as objects are

eaten and removed from the screen. The game will end when a specific score is reached

or the scoring actor is eaten by a random enemy.

BCS-IP-6. Students will design solutions for complex programs using advanced

programming techniques and constructs.

BCS-IP-8. Students will demonstrate knowledge of advanced object-oriented

concepts.

Eat and Score Student Name:

Description Pts Your

Score

Project includes a World Class, and Actor Class and min. 5 sub

classes 10

Project opens successfully when compiled 10

Main Actor calls methods that will eat instances of two separate

objects. The actor will keep track of objects eaten and pass

information on to scoreboard.

25

Objects of at least one subclass (which are eaten) should regenerate

themselves. 15

Game ends efficiently with either specified number of objects eaten or

actor is eaten by random enemy. 20

Code is effectively commented for ease of understanding. 10

Sound files are integrated into methods and effectively used. 10

TOTAL POSSIBLE POINTS: 100 0

Page 15: Finkelstein - Intermediate Programming (Spring)

Student Work

#1

Page 16: Finkelstein - Intermediate Programming (Spring)

Intermediate Programming Project -- Student Work - Finkelstein Student Jeremy Groover Feeding Time

import greenfoot.*; public class Turtle extends Animal { private Counter counter; public Turtle(Counter pointCounter) { counter = pointCounter; } public void act() { move(4); randomTurn(); tryToEat();

Page 17: Finkelstein - Intermediate Programming (Spring)

} /** * With a probablility of 15%, turn either right or left. */ public void randomTurn() { if ( Greenfoot.isKeyDown("left")) { turn(-5); } if ( Greenfoot.isKeyDown("right")) { turn(5); } } /** * If you can see the lettuce, eat the lettuce. If you see the apple, eat the apple. */ public void tryToEat() { if (canSee (Lettuce.class)) { eat (Lettuce.class); counter.add(5); Greenfoot.playSound("slurp.wav"); } if (canSee (Apple.class)) { eat (Apple.class); counter.add(5); Greenfoot.playSound("slurp.wav"); } if (counter.getValue()>=80) { gameOver(); } } /** * Create a new lettuce and put it at a random location in the world. */ private void createNewLettuce() { Lettuce lettuce= new Lettuce(); World world; world = getWorld(); int worldWidth = world.getWidth(); int worldHeight = world.getHeight(); int x = Greenfoot.getRandomNumber(worldWidth); int y = Greenfoot.getRandomNumber(worldHeight); world.addObject(lettuce, x, y); } /** * We have won the game guys. */ public void gameOver() { Greenfoot.stop(); } }

Page 18: Finkelstein - Intermediate Programming (Spring)

Eat and Score Student Name: Jeremy Groover Description Pts Your

Score Project includes a World Class, and Actor Class and min. 5 sub classes

10 10

Project opens successfully when compiled 10 10 Main Actor calls methods that will eat instances of two separate objects. The actor will keep track of objects eaten and pass information on to scoreboard.

25 25

Objects of at least one subclass (which are eaten) should regenerate themselves.

15 10

Game ends efficiently with either specified number of objects eaten or actor is eaten by random enemy.

20 20

Code is effectively commented for ease of understanding. 10 10 Sound files are integrated into methods and effectively used. 10 5 TOTAL POSSIBLE POINTS: 100 90

Page 19: Finkelstein - Intermediate Programming (Spring)

Class Project

#2

Page 20: Finkelstein - Intermediate Programming (Spring)

Student Work

#2

Page 21: Finkelstein - Intermediate Programming (Spring)

Class Project

#3

Page 22: Finkelstein - Intermediate Programming (Spring)

Student Work

#3

Page 23: Finkelstein - Intermediate Programming (Spring)

Long-term Project

Page 24: Finkelstein - Intermediate Programming (Spring)

Computer Science Finkelstein Long Term Project You are to create a FBLA-PBL trivia game. There must be at least 25 questions from a minimum of five topics (five questions per topic) as part of the game. Your audience is FBLA members. Topics could include competitive event guidelines, national officers for 2012-2013, national partners, guidelines for running for national office, basic parliamentary procedure, national conference (NFLC and NLC) dates/locations, etc. One suggested format is a random topic with a time limit on how long the person has to answer the question. The faster you answer the question, the more points you earn for the question. Questions/answers are to be stored in a tab delimited file with the question first, followed by the number of the correct answer, followed by the answer options. BCS-IP-2. Students will apply knowledge of high-level program execution. BCS-IP-5. The student will collaboratively develop solutions for specific problems. BCS-IP-6. Students will design solutions for complex programs using advanced programming techniques and constructs. BCS-IP-7. Students will use and develop algorithms to solve complex problems. BCS-IP-8. Students will demonstrate knowledge of advanced object-oriented concepts.

Page 25: Finkelstein - Intermediate Programming (Spring)
Page 26: Finkelstein - Intermediate Programming (Spring)

Long-term Project

Student Work

Page 27: Finkelstein - Intermediate Programming (Spring)

Computer Science Finkelstein Long Term Project Student Work: Nick Carlson, Daniel Choi, Moi Reilly, Garrett Arisman

Page 28: Finkelstein - Intermediate Programming (Spring)
Page 29: Finkelstein - Intermediate Programming (Spring)

Current Event Work

Page 30: Finkelstein - Intermediate Programming (Spring)

Current Event

Activity

Page 31: Finkelstein - Intermediate Programming (Spring)

FBLA Activity

Page 32: Finkelstein - Intermediate Programming (Spring)

FBLA Work

Page 33: Finkelstein - Intermediate Programming (Spring)

Student

presentations

Page 34: Finkelstein - Intermediate Programming (Spring)

career

development

Page 35: Finkelstein - Intermediate Programming (Spring)

Teacher  Class  Assignment  Date Finkelstein  AP Computer Science  Career Portfolio  Spring   AP Computer Science  Guest Speaker  Spring   AP Computer Science  Mock Interview  Spring   Beginning Programming  Guest Speaker  Fall   Computer Applications  Career Portfolio  Spring   Computer Applications  Guest Speaker  Fall & Spring   Computer Applications  Mock Interview  Spring   Intermediate 

Programming Career Portfolio  Spring 

  Intermediate Programming 

Guest Speaker  Spring 

  Intermediate Programming 

Mock Interview  Spring