Course Aims

When this course is over, what are you going to be able to understand and do? Aims provide a bulleted list of core ideas and skills. It would be great idea if you became curious about the aims on this list.

  • You will understand the nature of programming languages
  • You will understand the difference between local and remote servers
  • You will understand the big idea of Input Process Output
  • You will understand HTML
  • You will understand how to create and edit an HTML file
  • You will understand CSS
  • You will understand how to create and edit CSS
  • You will understand PHP
  • You will understand how to create and edit a PHP file
  • You will understand how to write good code
  • You will understand how PHP and HTML work together to make web applications
  • You will understand how to solve problems (debug)
  • You will understand how to use professional-level development tools
  • You will understand how input types enable users to provide different types of input
  • You will understand how to use and modify a front-end framework, Bootstrap
  • You will understand persistence and sessions as they relate to web applications
  • You will understand databases, and how to use databases as an underlying data source for your web application
  • You will understand how to diagram solutions
  • You will understand the design process, and how professional programmers design software
  • You will design and build two solutions to a real-world problem, using the MYP design cycle
  • You will understand how to present designs
  • You will be exposed to advanced topics in programming


The major assessments in this course are to plan, design, create and evaluate two web-based applications.

For each application, you need to do four things really well:

  1. Become an expert in your design (we call this Inquiry and Analysis)
  2. Create a really good plan to solve your problem (we call this Developing Ideas)
  3. Be a true craftsperson and make good changes when the need arises (we call this Creating the Solution)
  4. Figure out if you solved the problem you set out to solve (we call this Evaluation)

There are many other minor assessments related to these two projects. For example, you will need to learn about HTML in order to build a website. You will be assessed on your understanding and skill of HTML.

You will also be assessed on your approaches to learning - skills which help you be a better student.


Topics are big ideas, essential questions, and important skills in our course. All topics are assessed, formatively and summatively. Clicking the links below will bring you to a page which details the topic, and offers resources to help you understand them. Many courses share the same topics, but especially in the IB courses, the rigor and depth of the topics are more pronounced.

  1. Course orientation
  2. Web science
  3. Programming
  4. Design: Evaluation
  5. Design: Creating the Solution
  6. Design: Developing Ideas
  7. Design: Understanding a Problem

Teacher: Bill MacKenty, M.Ed.
Teacher email:

American School of Warsaw
Bielawa. 202 Warszawska Ul.
05-520 Konstancin-Jeziorna

Required materials include a fully charged school-issued computer with all software updated as directed in our getting started guide.

Exam re-takes

You can retake an exam until you have mastered the standards on the exam. You must schedule a specific time with your teacher for the retake. 


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. The assignment will be graded with the same rigor as other assignments (extra credit isn't easy)
  2. You must treat an extra credit assignment as a regular assignment. If you do not turn it in, or do not meet the standard, you may further harm your progress
  3. You will have clear criteria (a rubric) for your extra credit
  4. Extra credit is almost always service-oriented. Your teacher alone determines what qualifies for extra credit.
  5. You must always ask for permission for extra credit prior to doing the work.

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:

  1. 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
  2. submitting work for assessment that is representative of the student's own learning and not that of others
  3. 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:

  1. Presenting the work, ideas, words, images, data or arguments of others as one's own without citation (plagiarism)
  2. 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
  3. 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
  4. 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.

  1. Do not disrupt our learning environment
  2. Work hard
  3. Be curious
  4. Be kind
  5. There are no cell phones allowed in our class - they must be out of your zone of control


This an entry-level course. Students are not expected to know anything about programming prior to starting the course.

Under the following conditions, teachers will communicate with students and families about their academic progress:

  • Trend (2 or more times) in Achievement Grades in Progress getting lower
  • Trend (2 or more times) toward missing deadlines or unproductive work habits
  • 3 or below on individual summative assessments
  • Other academic concerns



Speak to me in person

  • Advantages: You can gauge my reaction to an initial idea. This method is good for quick, yes/no questions. I'll tell you if your question isn't quick to answer.
  • Disadvantages: Most problems are complex. It takes time to understand them and solve them.

Send me an email In-depth questions, with evidence that you have followed our guide to asking good questions will get replies.

  • Advantages: Messages are private.
  • Disadvantages: I don't respond to emails very quickly, and if your question is complex, it will take me more time to answer it. Also, if there is a lot of back-and-forth between us about your question, emails might make it hard to follow.

Ask a question in our ask-for-help system

  • Advantage: Other people can learn from your question. You can see where you are in a queue of students. 
  • Disadvantage: Answers to your questions might take a bit longer, especially if they are complex.



Week Starting Topic

Tuesday 20 August 2024 (in 2 months 22 days)

Course orientation

Monday 26 August 2024 (in 2 months 28 days)

Course orientation

Monday 2 September 2024 (in 3 months 4 days)


Monday 9 September 2024 (in 3 months 11 days)


Monday 16 September 2024 (in 3 months 18 days)


Monday 23 September 2024 (in 3 months 25 days)


Monday 30 September 2024 (in 4 months 1 days)


Monday 7 October 2024 (in 4 months 9 days)


Monday 14 October 2024 (in 4 months 16 days)


Monday 21 October 2024 (in 4 months 23 days)


Monday 28 October 2024 (in 4 months 30 days)


Monday 4 November 2024 (in 5 months 6 days)

Design: Understanding a Problem

Tuesday 12 November 2024 (in 5 months 14 days)

Design: Understanding a Problem

Monday 18 November 2024 (in 5 months 20 days)

Design: Understanding a Problem