This course is about practical computer programming and slightly less about hard computer science. The focus will be on building practical, usable applications using skills and knowledge to solve problems. You will learn advanced HTML, PHP, CSS, Web-development frameworks, databases, and create real-world solutions.
You will learn to use computational thinking to develop algorithmic solutions to real-world problems. You will begin to understand the different levels of complexity in problem solving and to determine when team projects might generate more effective problem solutions than individual efforts. You will learn and use a programming language(s) and related tools, as well as appropriate collaboration tools, computing devices, and network environments. Finally, you will demonstrate an understanding of the social and ethical implications of your work and exhibit appropriate communication behavior when working as a team member.
This 2 year IB DP computer science course requires an understanding of the fundamental concepts of computational thinking as well as knowledge of how computers and other digital devices operate. The course, underpinned by conceptual thinking, draws on a wide spectrum of knowledge, and enables and empowers innovation, exploration and the acquisition of further knowledge. Students study how computer science interacts with and influences cultures, society and how individuals and societies behave, and the ethical issues involved. (source)
The biggest difference between the standard level (SL) and higher level (HL) is the inclusion of a case study and additional higher-level content, such as abstract data structures, resource management, and control. All students are required to develop a computational solution to a genuine problem.
There are four additional possible options students must become familiar with; databases, object-oriented-programming, web-science, and modeling and simulation. I teach modeling and simulation and web science.
Simulate a long line in a lunchroom. Model a busy road. Simulate a medical problem. Model a battle. Simulate a city growing. Model a country. Simulate weather patterns. Model a process. Model a situation. Model a farm. Model a school. Simulate a crowd. Model a bridge, or even a space ship! Model infectious disease, thermal systems, and chemical kinetics. Simulate cars, ships, planes, space ships, life, virus, roller coasters, football matches, you name it!
You will create physical, mathematical and process models. You will casually use the words like stochastic and deterministic to impress your friends and stun your enemies.
Model segregation and immigration. Create complex models to test theories of economics by creating a population of agents exchanging commodities at prices they determine from local information. Create simulations to determine the outcome of social policies under different conditions. These are used in domestic, international and military operations to discover the envelope of possibilities resulting from being different “what if” scenarios.
This is your chance to create a universe and simulate different systems within that universe. You can introduce change into your models to test what might happen if… You will learn the python programming language as you design solutions for really interesting problems.