Solving Complex Problems Through Programming (also known as advanced programming) is an entry-level course for students to learn programming and design. The course is a year-long course.
The course is designed to be “fun and hard”. You will build your programming skills using real-world tools. You will carefully design a python application and then program the application. You will learn how to use git, advanced coding techniques, and more.
After you understand this, you will build two applications. Students who leave this course usually transition to IB Computer Science.
The major assessment in this course is to plan, design, create, and evaluate two applications.
For each application, you need to do four things really well:
There are many other minor assessments related to these two projects. For example, you will need to learn about python in order to build a simulation. You’ll be assessed on your understanding and skill of python.
You will also be assessed on your approaches to learning - skills which help you be a better student.
Here is a guide how you can communicate with me. I am available most of the time. You should be aware of advantages and disadvantages for each method of communication:
Speak to me in person
Send me an email In-depth questions, with evidence that you have followed our guide to asking good questions will get replies.
Ask a question in our class discussion board
Ask a question on google classroom
Exam re-takes
I do not allow students to retake exams. Many students get the idea that they don’t have to take a test seriously until the retake. Students and parents are reminded a grade is a single data point, not to be considered as a single point upon which all success and failure rests.
Extra-Credit
I want you to work hard and learn. There are times when you may want to earn extra credit. Extra credit does not automatically improve your grade. Here are some things to think about before you accept an assignment for extra credit:
1. Listen and follow directions
2. Raise your hand before speaking or leaving your seat
3. Respect your classmates and your teacher
4. Keep hands, feet, and objects to yourself
5. Do not disrupt our learning environment
6. Work hard in our class
7. Be curious
8. Be kind
You are responsible for understanding and following these guidelines.
From the Student Handbook:
Academic integrity is an expected trait in all students of ASW and is afforded the utmost value by all members of the faculty. The academic reputation of our students and the school in the wider community depend on it. Academic integrity expectations extend to all assessed and non-assessed school work and to all documentation produced for university and college applications. It is the expectation at ASW that all work and documentation submitted by students is entirely their own.
To ensure that high school students understand what constitutes academic honesty, teachers explicitly address the issue with all students at the start of each academic course.
Academic integrity means:
Citing appropriately those whose work is used in the preparation of school work completing school work without the input of others whose knowledge of the task might advantage the student unfairly submitting work for assessment that is representative of the student’s own learning and not that of others, individually or collectively maintaining a level of confidentiality and personal ownership of one’s own work, both assessed and non-assessed
Conversely, academic dishonesty means:
Presenting the work, ideas, words, images, data or arguments of others as one’s own without citation (plagiarism) copying or sharing work with others (unless specifically allowed) in any form (e.g. digitally sharing, downloading, in person) in a way that misrepresents a student’s ability or is intended to mislead the intended audience presenting work as one’s own which has been completed with the assistance of others (such as parents, other students or tutors) in a way that misrepresents a student’s ability making up or altering references, quotations, statistics, etc. (fabrication or falsification)
When a faculty member determines that there has been a breach of academic integrity, the faculty member is required to inform the Principal of the incident.
Students should have some experience programming and solving problems. Students should enjoy computers and puzzles. Prior programming experience is not required but really helps.
Topic | Notes | Week Starting |
---|---|---|
Course orientation |
Class rules, how you are graded, setting up your computer, communicating with your teacher |
Tuesday 20 August 2019 (one year and 5 months ago) |
Course orientation | The “developer workflow”, the nature of programming languages, python |
Monday 26 August 2019 (about one year and 5 months ago) |
Programming | Programming, selection and iteration, data types |
Monday 02 September 2019 (one year and 4 months ago) |
Programming | Programming, advanced data types |
Monday 16 September 2019 (one year and 4 months ago) |
Programming | Programming, lists data structure, file i/o, JSON |
Monday 23 September 2019 (one year and 4 months ago) |
Programming | Problem sets and practice |
Monday 30 September 2019 (one year and 3 months ago) |
Programming | Problem sets and practice |
Monday 07 October 2019 (one year and 3 months ago) |
Design: Understanding a Problem | Design Cycle, review assessment, start your first project |
Monday 14 October 2019 (one year and 3 months ago) |
Design: Developing Ideas | Design Cycle, review assessment, start your first project. We will primarily focus on system diagramming. |
Monday 21 October 2019 (one year and 3 months ago) |
Holiday | Happy Holidays! |
Monday 28 October 2019 (about one year and 3 months ago) |
Design: Developing Ideas | Presenting your idea is an important part of the design cycle. We’ll cover that in this week. |
Monday 04 November 2019 (one year and 2 months ago) |
Design: Creating the Solution | You will follow your plan, justify technical changes and demonstrate technical expertise. |
Tuesday 12 November 2019 (one year and 2 months ago) |
Design: Creating the Solution | You will follow your plan, justify technical changes and demonstrate technical expertise. |
Monday 18 November 2019 (one year and 2 months ago) |
Design: Creating the Solution | You will follow your plan, justify technical changes and demonstrate technical expertise. |
Monday 25 November 2019 (about one year and 2 months ago) |
Design: Creating the Solution | You will follow your plan, justify technical changes and demonstrate technical expertise. |
Monday 02 December 2019 (one year and one month ago) |
Design: Evaluation | Did you solve the problem you set out to solve? |
Monday 09 December 2019 (one year and one month ago) |
Holiday | Enjoy your holiday! |
Monday 16 December 2019 (one year and one month ago) |
Holiday | Enjoy your holiday! |
Monday 23 December 2019 (one year and one month ago) |
Holiday | Enjoy your holiday! |
Monday 30 December 2019 (one year and 3 weeks ago) |
Course orientation | We will refresh after our break and remember our fundamentals. |
Tuesday 07 January 2020 (one year and 2 weeks ago) |
Programming | We will learn about GUI’s in Python |
Monday 13 January 2020 (one year and one week ago) |
Design: Understanding a Problem | We begin our second design. |
Monday 20 January 2020 (one year and 3 days ago) |
Design: Understanding a Problem | We begin our second design. |
Monday 27 January 2020 (about 11 months and 4 weeks ago) |
Design: Creating the Solution | Find a solution to your problem. |
Monday 03 February 2020 (about 11 months and 3 weeks ago) |
Design: Developing Ideas | Find a solution to your problem. |
Monday 10 February 2020 (about 11 months and 2 weeks ago) |
Design: Creating the Solution | We will focus on creating your plan. |
Monday 17 February 2020 (11 months and 6 days ago) |
Holiday | Enjoy your holiday. |
Monday 24 February 2020 (10 months and 4 weeks ago) |
Design: Creating the Solution | You will follow your plan, justify technical changes and demonstrate technical expertise. |
Tuesday 03 March 2020 (10 months and 3 weeks ago) |
Design: Creating the Solution | You will follow your plan, justify technical changes and demonstrate technical expertise. |
Monday 09 March 2020 (10 months and 2 weeks ago) |
Design: Creating the Solution | You will follow your plan, justify technical changes and demonstrate technical expertise. |
Monday 16 March 2020 (10 months and one week ago) |
Design: Creating the Solution | You will follow your plan, justify technical changes and demonstrate technical expertise. |
Monday 23 March 2020 (10 months and one day ago) |
Design: Creating the Solution | You will follow your plan, justify technical changes and demonstrate technical expertise. |
Monday 30 March 2020 (9 months and 3 weeks ago) |
Design: Evaluation | Did you solve the problem you set out to solve? |
Monday 06 April 2020 (9 months and 2 weeks ago) |
Design: Evaluation | Did you solve the problem you set out to solve? |
Tuesday 14 April 2020 (9 months and one week ago) |
Abstract data structures | We begin advanced programming. |
Monday 20 April 2020 (9 months and 4 days ago) |
Holiday | Enjoy your holiday! |
Monday 27 April 2020 (about 8 months and 4 weeks ago) |
Abstract data structures | We continue our learning on abstract data structures, and more advanced programming. |
Monday 04 May 2020 (about 8 months and 3 weeks ago) |
Computer organization | How do computers actually work? How does a CPU actually work? |
Monday 11 May 2020 (about 8 months and 2 weeks ago) |
Computer organization | How do computers actually work? How does a CPU actually work? |
Monday 18 May 2020 (8 months and 6 days ago) |
Computer organization | How do computers actually work? How does a CPU actually work? |
Monday 25 May 2020 (7 months and 4 weeks ago) |
Programming | Advanced programming. |
Monday 01 June 2020 (7 months and 3 weeks ago) |
Programming | Advanced programming |
Monday 08 June 2020 (7 months and 2 weeks ago) |
Programming | Advanced programming |
Monday 15 June 2020 (7 months and one week ago) |