SYLLABUS
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
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.
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.
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 *
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_________________
Pacing guide
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
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
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
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
Class Projects
Class Project
#1
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
Student Work
#1
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();
} /** * 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(); } }
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
Class Project
#2
Student Work
#2
Class Project
#3
Student Work
#3
Long-term Project
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.
Long-term Project
Student Work
Computer Science Finkelstein Long Term Project Student Work: Nick Carlson, Daniel Choi, Moi Reilly, Garrett Arisman
Current Event Work
Current Event
Activity
FBLA Activity
FBLA Work
Student
presentations
career
development
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