# David Prieto teaching material Here you will find the links to the public notes that I have done for the different subjects I have teached divided by subjects. ## General guidance [Note taking (thinking of IB students)](/wKj6y-rySjejV7BupP9i1w) [Programs to take notes for IB](/-LTqm6f2SxicgF57XFkwOA) ## Computer Science (IB Diploma Program) General guide (of my class) [Starting point in Computer Science](https://hackmd.io/@dprieto/Starting-point-M27) [Old version](/frd1Pi6FQm2ew2bs4gL-qw) ## Computer Science New syllabus (first examination 2027) Note: some of the topics/subtopics **won't** be covered by hackmd notes. Some other intersecional topics (such as command terms) will be addressed in specific notes. Here you have the structure as is in the syllabus so is easier for reviewing. ### Theme A Concepts of computer science (paper 1) #### A1 Computer fundamentals A1.1 Computer hardware and operation [A1.1 Notes and resources](/6LgCmT4IToOkOu0CuV3UBQ) A1.2 Data representation and computer logic * A1.2.1 and A1.2.2 Representing data (binary, hexadecimal) [A.1.2. Notes and resources](/W_rCaPb-Sy-QabJVLhnCZg) * A1.2.3, A1.2.4, A1.2.5 Logic gates, truth tables, logic diagrams [IB Logic gates and truth tables](/YIBSvz5YQLSwEOTxVh5pdA) :::info :information_source: Previous notes that may be helpful for A1.2 [IB Topic 2 Computer Science - Reference for truth tables and binary](/aZey_UT0QNKk4VGEG0CxxQ) ::: A1.3 Operating systems and control systems [A1.3 Notes and Resources](/iD8iagfzSm6tbNqeApW50g) A1.4 Translation (HL only) (no note on this one, this is about compile, interpret and just in time compiling) #### A2 Networks #### A3 Databases [[Private notes on DBs](/Cg3BU1S-Rdaq6jeo1JGpSQ)] #### A4 Machine Learning ### Theme B: Computational thinking and problem-solving (paper 2) #### B1 Computational thinking [Computational thinking and flowcharts (DRAFT)](/aoJTd1gBSMKAVO1rlmaF6w) #### B2 Programming ##### B2.1 Programming fundamentals * Arduino [Sounds with arduino](https://hackmd.io/@dprieto/sounds-arduino-step-by-step) [Melodies in Arduino](/HSHFqID9Sly6rS534i8L4w) [Arduino morse code and functional programming](/2OLbqEc6SnuhkR-RcrGRDA) * Python [Start point with Python](/BDB83OQZRzOGXCg2oHeBxg) [Functions in Python](/Apsl9c53SSKET1Mlj7iM2Q) B2.1.1 Different types of variables and global and local variables: Not in these notes [B2.1.2 String exercises in Python](/y_afcRmLQcysv05xlSqRuQ) [B2.1.2 bis Slicing in Python](/PNGqCnHNRPmCp-6WHUHH2Q) [B2.1.3 Errors and error handling in Python](/RCQ32fpjS-up6rYC74jPoQ) B2.1.4 Use common debugging techniques (Trace tables): Discussed embedded in other notes. B2.2 [B2.2.1 Compare static and dynamic data structures](/F_OSOsRrQc6ipSeFrJGonA) [B2.2.2 Lists in Python](/RWrVgWBOTOebitrb0MSFVw) [B2.2.2 bis 2D Lists in python](/-ylq-DUoTKOS6qGCiq3JRA) [B2.2.3 and B2.2.4 Stacks and queues resources for SL](/uU33rV_oSbqqPcoGbbCPkQ) :::info :information_source: Previous notes that may be helpful [Flow control in programming (IB pseudocode and arduino)](/fDEulLpKQR-ir1K471w9qw) [Iteration in programming (IB pseudocode)](/0NGpPJ8DSSCmKMVv0p1ScQ) [Functions in programming (IB pseudocode)](/LNgQad5gSAqlNAiNyr33fg) [Arrays in IB Pseudocode](/GOWuknHrTJSBs6NsxEeDOA) [Collections in IB Computer Science](/jJs5xsoHRjWY3n4eYzL9ZQ) ::: B2.3 B2.3.1 Correct sequence of code (no note on this) [B2.3.2 Flow control in Python](/zX6YpspsTnCvqmZC0vTzRg) [B2.3.3 Iteration in python (loops)](/vUyPmmaEQ8Wb5cYooygiuQ) [B2.3.4 Functions in Python (with lots of exercises)](/Apsl9c53SSKET1Mlj7iM2Q) [B2.3.4 (bis) Modularization] B2.4 [B2.4.1 Big O Notation] [B2.4.2 Linear and binary search] [B2.4.3 Bubble and selection sort] [B2.4.4 and B2.4.5 Recursion] B2.5 [B2.5 File reading and writing in python](/LG5DF-vbStKA5nUfx6-Nsg) B2 Revision [B2 Revision exercises in Python - from simple to complex](/TBSyrni3RdK2sCmTKo2l_w) B3 OOP (Object Oriented Programming) You can check "Option D" questions even if they are about java and not in python. B4 Abstract Data Structures (ADS) [HL: Linked lists in python](/rfBEGAz4Rfyo0iSj2Itc3g) [B4.1.2 Linked lists in Python] [B4.1.4 Binary Search Trees] [B4.1.5 Sets in Python] :::info :information_source: Previous notes that may be helpful: [HL Topic 5 Linked lists](/cFrhn2YMTuK9Iyb6lKhWcA) [HL Topic 5 Binary trees](/VEzA5NMrR0i8cbqnlUBIxg) ::: ### Internal Assessment (new syllabus May 2027) [Criterion A](/m5NGlqm5S5qvxDiuLejkZg) [Criterion B](/7DBwVt8SRlqG-UfKqGz7Nw) [Criterion C](/H2Ae4LlUSbyBb03_Tb0liw) ### Case study //TO-DO summer 2026 ### Other notes [IB Computer Science command terms](/iZ30L7H-RgWacb8ZfA76lw) #### Story time Events that happened that I can tell you about in class. * Outage of Chile February 2025 * Outage of Spain April 2025 * Succession of 6 exploits probably done by the CIA. https://en.wikipedia.org/wiki/Stuxnet * Airport problem with crowdstrike in Summer 2024 * [Airport problem in September 2025](/f3rnt891Si2xQAnHhDD4hA) ## Old syllabus (last examination 2026) Theory Topic 1: [IB Topic 1: notes from a student](/FLNgAyjSR6Ogw8OjGUAxkA) Topic 2: [IB Topic 2 Computer Science - Computer architecture](/3xQjnnJgTLylJr8LzNzkYw) [IB Topic 2 Computer Science - Operating systems and programs](/R73PC58XRamdxdJ3vdnvNw) [IB Topic 2 Computer Science - Reference for truth tables and binary](/aZey_UT0QNKk4VGEG0CxxQ) Topic 3: (no data) Topic 4: [Concepts for Topic 4 in IB Computer Science](/ijsmd7yTTP27ZmO-NyhuUA) [Big O Notation](/ePOy45OFT0yOOnIMyxtaTw) (requires pseudocode knowledge) Options [Options in IB Computer Science](/wDPwJBCCR4iOertaR0xgMg) Option C [Topic C links](/_-j8ypokTN29MONvkJNxyQ) [Topic C material](https://hackmd.io/8g9EfWtdSRGYnvkY41fS9A) Option D (Java and OOP) Linear course: [Start point with Java](/S3oXtcWLQduOy_R5_03Z2g) [The concept of Object in OOP](/6FsqJbw3SKq5m1NKk56U3Q) [The POJO (Plain Old Java Object) and their common methods](/zJgmWQUbSLqf3JIiVehBNA) [Relationship between objects and UML diagrams](/5rUt1ACuTQGF7nuLhvx7TA) Previous material [Object Oriented Programming concepts](/oPiYWjKyQLSoeUCKD0SXBA) [Java concepts not directly in OOP but still important for CS paper 2](/zfx3YkE9QD6-lnNz42kkbQ) [Functions signatures in Java](/mOroD8vWSsa1TKbciY1f4w) [Java exercises](/22BDSCcQSDqeb4W4VRRmbg) [Array exercises in Java](/xkzCpBgIQdeywnxFoVcIyA) [Using pokemon as example for option D of Computer Science](https://hackmd.io/SFDaYNufTESC4_k5GehaKw) Programming: [Flow control in programming (IB pseudocode and arduino)](/fDEulLpKQR-ir1K471w9qw) [Iteration in programming (IB pseudocode)](/0NGpPJ8DSSCmKMVv0p1ScQ) [Functions in programming (IB pseudocode)](/LNgQad5gSAqlNAiNyr33fg) [Arrays in IB Pseudocode (includes sorting and searching)](/GOWuknHrTJSBs6NsxEeDOA) [Collections in IB Computer Science](/jJs5xsoHRjWY3n4eYzL9ZQ) ### Internal Assessment: [Internal Assessment: Criterion A](/pYWQphm_TOS-ztdz79-DUw) [Internal Assessment: Criterion B](/0MElKhl0QZ-mcL-5F3gRAg) [Internal Assessment: Criterion C](/RjHA5RCVTnyVC2fUCp4bWg) [Internal Assessment: Criterion D](/45ElzGTuSfa3rnmDUZmARA) [Internal Assessment: Criterion E](/ytPDNxeBR4WRG7wYJIih5g) [Internal Assessment Delivery instructions](https://hackmd.io/cZeotVDlSw2UdXBhcUB9Tg) #### HL Topics: HL topic 5: [2 dimensional arrays](/W401zMAJToK7PBiLN1QKnw) [HL Topic 5 Stacks and Queues](/iKS9xt1pTJSGLfcy4lvsdg) [HL Topic 5 Linked lists](/cFrhn2YMTuK9Iyb6lKhWcA) [HL Topic 5 Binary trees](/VEzA5NMrR0i8cbqnlUBIxg) Topic 6 interrupts image: ![images](https://hackmd.io/_uploads/r1adu1YJbg.jpg) General revision [Revision M24 CS](/bxUIRbA5SdeAspuEdNCuAw) Other [Arrays and functions in C++](/1OhSLPk6RO6bZMOvXc6rgg) [Working with physical arrays](/ldEKvI3UR5-WyKMHblRbhw) [Melodies in Arduino](/HSHFqID9Sly6rS534i8L4w) [Arduino morse code and functional programming](/2OLbqEc6SnuhkR-RcrGRDA)] ### Case studies github The research by the students is uploaded in github with me and the students. You can find all the documentation there. [May 23 Case Study: Predictive algorithms in social media](https://github.com/d-prieto/2023IBComputerScienceCaseStudy) [May 25 Case Study: Chatbots in insurance industry](https://github.com/d-prieto/2023IBComputerScienceCaseStudy) [May 26 Case Study: Ethical hacking in healthcare](https://github.com/d-prieto/2026IBComputerScienceCaseStudy) ## Math (IB Math Analisys and Approaches) I did a couple of these in 2021-2022 [Exponents and logarithms](/6UtAqMYlQNW-UolAjvfGmA) [Second grade equations](/cvRqc4CrRcKDAs-eRVfioA) ## Physics [Physics heat exercises and questions](/2ZkTEs4MSDGLzCX5QUYZjw) [Inclined planes with friction and no friction](/1T61DXzbSbm_H80XNLO93g) [Physics. Energy and Power](/zJiCCMzoSI6K6y-DsgWG4w) ## Tecnologia Industrial [Ejercicios de Tensión y deformación y material de estudio](/i1ILo8LyRTWOm3qdbWKL5g) [Apuntes sobre electricidad extra para J24](/DL4n-zE8RzS5Echb0RyHyQ) ## Other Second grade equation exercise: [Notas ecuaciones 2° grado](/meKQdUC8QD-tf4jTY0wRGQ) [How to layout in Word a little bit](/11QOL-jDSAK57OngRKKIvg)