IB CP General Info from the IB website
The Computer Programming program at SSHS prepares students for careers and continuing education in Computer Science, Web Development, and Robotics. Through industry-validated coursework and experiences, students will learn programming fundamentals as they design, build, & program websites, web apps, computer games, and robots, and solve problems in multiple programming languages. By participating in the VEX Robotics program or TSA (Technology Student Organization), as well as practicum placements, students will have additional opportunities to gain relevant industry experience and real-world knowledge.
It's not "Easier IB" - The only reason this may seem easier is because you may already have an aptitude for computer programming and the skillset required for it. These classes are still rigorous.
It's not "IB Plan B" - You shouldn't go into IB CP because you don't think you'll be able to do well in the IB DP (Diploma Program) route. You're not settling for something more attainable by choosing CP. You should be going into IB CP because you're passionate about computer programming. There's huge benefits to learning computer programming now and it will give you a leg up when it comes to attending college. Both, the IB DP and the IB CP programs have huge benefits. They also have important, rigorous requirements.
The IB Career-Related Program (IBCP) is a unique program that allows students to focus on potential career opportunities with the academic distinction of completing an IB program. This program prepares students for the rigors of college along with allowing the students to explore a specific career focus.
This program requires concurrency of learning over grades 11-12.
Students will choose 2 regular DP courses as part of their CP Diploma Plan.
Suggested DP Courses for Computer Programming students: IB Math Application or IB Math Analysis and IB Physics
Students can earn the CP Diploma @ SSHS in:
Culinary & Hospitality
Business Management
Graphic Design
Health Services
Computer Programming
Broadcast Journalism
Professional Development
Schedule Flexibility
University Recognition
College Credits
Community Service Experience
Business Partner Connections
Student Internship Options
Professional Portfolio
Personal & Professional Skills Class
Semester 2 Junior Year, Semester 1 Senior Year.
This course covers the topics:
Personal Development
Intercultural Understanding
Effective Communication
Thinking Process
Applied Ethics
Reflective Project
This is a 3000-word essay examining an ethical dilemma related to Computer Science & Technology
See "Reflective Project Ideas" below.
Service Learning
50 Hours of Service hours, preference is that the hours are linked to your CP area
Computer Programming doesn't have many opportunities for area-specific volunteer/service opportunities.
See "Suggested Service Opportunities" below
Language Development
50 Hours of LD
preference is that hours are linked to program (There isn't a language specifically recommended for Computer Programming students - just pick something)
Your reflective project should be on a topic that is of interest to you and should focus on a current issue, not a past issue.
Options:
3000 word essay + reflection
1500-2000 word essay + reflection, and an additional product (presentation, film, play, display)
Ideas
Data Privacy
Big Data
Cybersecurity (personal, Business, Control Systems/Vital Infrastructure like powerplants and water facilities)
Algorithmic Racial Bias
AI (Artificial Intelligence) & AGI (Artificial General Intelligence)
Digital Assistants
Robotics
Smart Phones, Smart Devices, & Smart Homes
Automated Services
VR (Virtual Reality) & AR (Augmented Reality)
Gaming
Social Media & Disinformation
Additional ideas can be found through the "Issues in Technology" class contents.
Whatever your topic, make sure you're identifying an issue with that technology and providing data while expressing your opinion on it. If you just provide data, you're not reflecting. If you just provide oppinions, you're not backing it up with facts.
Please connect with Mr. Birkel before undertaking any of these opportunities as a few of them require special permission, planning, and communication prior to implementing.
The following are just ideas. If you come up with other Computer Programming related ideas, please share them with me so I can add them to this list. You're also not required to do Computer Programming specific volunteer hours - it's just highly encouraged (and way more beneficial and meaningful). Volunteer hours can be tracked beginning of your 1st day of Summer Break after your Sophomore Year.
Free Geeks - This is a business in Portland that provides volunteer opportunities to take apart, fix, and put together computers ,as well as fundraise or run a tech drive. With a certain number of service hours, students are also able to earn a free, refurbished computer. They also provide learning opportunities - and tours. Check out their Volunteer Page for more details about volunteer opportunities.
VEX Robotics - We host an event in November every year for our robotics tournaments, and North Salem & West Salem host a few events as well. Connect with Mr. Birkel about opportunities to help setup, takedown, run concessions, ref, and queue at these events. Students on VEX teams who would like to earn volunteer hours are limited on what they're allowed to do and how many hours would be counted at these events.
Run or Volunteer at a Computer Science or Robotics Camp/Club - We're always looking for ways to get computer science to grow through outreach. Helping with a robotics camp or club to help encourage middle school students to join computer science when they get to high school is a great way to help build our program. Time spent helping with the Middle School Showcases and the Future Freshman Night count as well.
Help Fundraise - Our Robotics and TSA (Technical Student Association) programs cost money to run, Spending time sharing Sponsorship letters with businesses or in some other way helping raise funds would help build the program as a whole.
Service Learning should
Show initiative
Demonstrate perseverance
Develop skills such as cooperation, collaboration, communication, decision-making and problem-solving
Take responsibility
Become involved with community members, and to become active members in local, national, and international communities.
You need to take 2 IB-specific courses to receive a CP diploma. 1 of those must be a 2-year course. The following is a list of IB course options to consider that are relevant to computer programming.
IB Math Applications (2 yr)
IB Math Analysis (2 yr)
IB Physics (2 yr)
Any IB Language
IB Business Management
IB Economics
IB Psychology
Students will create a Google Site to document CP Experiences, document hours and activities, and demonstrate completion of the CP Core requirements.
Earning the CP in computer programming helps you prove to yourself as well as to colleges and potential employers that you're capable of rigorous, college-level work.
Through the Computer Programming program you'll have opportunities to explore a range of programming languages and the application of those languages to various fields including general programming, robotics, web development, and game development.
Students will have completed projects that can be showcased in a portfolio. These projects will include games, websites, and web apps, as well as examples of projects completed in robotics and programming.
Typically project-based assignments that combine concepts used throughout the semester. Common examples include building a multipage website for a career of interest (Web 1), Building a ordering app for a restaurant (Web 2), building a game (Intro to Programming).
Higher level coding classes usually are assessed through the completion of 3 programming challenges that test the primary topics from the semester.
Occasionally a multiple choice test will accompany a project to test concept understanding.
In Web1 and Web2 we have opportunities for students to create websites and apps geared towards their personality, culture, and heritage.
Build a webpage that introduces you to the class
Build a website on your favorite food
Build an app for a make believe food truck
In Intro to Programming we build games. Students are encouraged to be creative with the sprites (images in the game) that they make.
In more advanced programming classes we talk about how algorithmic bias influences the results of our programs and can intentionally or unintentionally harm groups of people. Examples include facial recognition software not working properly for darker skinned faces, or algorithms that were developed with the intent to help businesses narrow down large pools of candidates (potential hires or loan applicants) but end up removing large numbers of people based on gender, skin tone, age, etc.
We don't have a lot of partnerships. I prepare my students well to enter into any college computer science program through the material that I teach. Prior to the pandemic I was connecting regularly with our local community college as part of their industry advisory group, but they've changed their meeting hours to make that not possible anymore.
I am working with Willamette Promise (OSU + OIT) to offer college credit in my Web Design class and possibly for independent study Cybersecurity.
I am also working with Chemeketa to try and offer college credit to students who complete Robotics Programming and participate in the after-school Robotics teams/competitions.
Almost none. Because computer programming is a tech-focused program and we do not live in an area with many tech companies, making connections and building relationships is hard.
We do have a meeting 2x a year with other computer science programs and we strive to get someone from industry to attend, but it's usually someone in the engineering field.
I'm an active participant in the Oregon Computer Science Teachers Association, attending Fall, Spring, and Summer professional development opportunities. When time permits and opportunities arise, I also strive to help lead PD events related to computer science and have taught other teachers topics related to Web Design and Gamemaker.
I'm very active at the local level, collaborating regularly with teachers from Sprague, West Salem, & North Salem's Computer Science, Engineering, and Scybersecurity teachers.
I'm also an active participant on computer science discussion boards through the Computer Science Teachers Association and CSAwesome. Though not PD, I consider these discussion groups to be valuable assets to my personal professional development as I regularly make connections with other passionate computer science teachers.