Description: This course will allow students who have completed the AP® computer science course to expand their programming knowledge and work on significant projects of their choice. Lessons on Data Structures, software development processes, project design & management, and other topics will assist in completing the projects as well as advance their programming skills. Project design process will be taught during the semester to provide a method of better refining ideas and creating effective and useful projects. Students taking this course will be expected to be self-directed and ambitious. These projects will allow students to experience the satisfaction in creating relevant projects of their own design to demonstrate the value and power of computer science.
Prerequisite: Requires successful completion of AP® computer science, instructor approval, self-direction and ambition to program. Earns Math Education credits (0.5 credit per semester). Expectation is that students will devote an additional 2-4 hours each week on their team’s project to ensure sufficient progress is made toward its completion.
Course Objectives: Successful completion of this course will provide students with an understanding of project design and software development process. Students in this course will be able to:
· discover, study, use, and implement algorithms and data structures
· identify a problem or need and define a project specification to solve it
· follow a development process to efficiently build, test, release and support an application
· research and analyze different programming environments and code libraries to use appropriate ones for a project
· plan and manage a programming project schedule to meet its goals and deadlines
· work successfully in a team, trying several roles in project development
· write clear and efficient code that can be used in others’ projects
· work on a team to contribute to a larger program consisting of many classes
· reflect on your progress and determine how best to make adjustments to your approach, process and design while working on your project
· build projects: testing, debugging, and integrating user feedback
· assess whether a career in a computing field is interesting to you
Course Materials
· Building Java Programs.Stuart Reges and Marty Stepp, 3rd Edition, Pearson, 2014
· A+ Computer Science Labs and Worksheets, www.apluscompsci.com
· JAVA Eclipse http://www.eclipse.org/downloads/moreinfo/java.php
· Computer Science A Quick Reference Guide., GridWorld Case Study, Magpie Lab, Picture Lab, Elevens Lab.
The Computer Science Teachers Association (CSTA) Standards website provides access to the Computer Science Teachers Association K-12 Computer Science Standards. The CSTA K-12 Computer Science Standards delineate a core set of learning standards designed to provide the foundation for a complete computer science curriculum and its implementation at the K-12 level. The standards articulate computer science content in five strands (computational thinking; collaboration; computer practice and programming; computer and communications devices; and community, global, and ethical impacts) that appear at all levels, K-12. The CSTA website also supplies additional resources and information. http://csta.acm.org/Curriculum/sub/K12Standards.html