# Starting point in Computer Science 2024 ###### tags: `IB`, `Computer Science`, `guide` [ToC] ## Who am I and who are you I'm David Prieto. Architect (building architect, since there is also a software architect role). Coder. Teacher. I have worked in Generali and for the Indra as a code analyser and I also have colaborated several projects in digital fabrication with FablabBCN. I've been working here since 2021. ### Questions about you - Name - Why are you here - What do you expect from this class - Any previous knowledge ## What is this subject about * It's about computacional *thinking*. * It's about knowing how computers work inside. * It's about algorithms and how to write them. * It's about solving problems using planning. * It's about knowing the ethic caveats involved in computing (they actually ask that in the exam) ## What is this subject not about * How to use computers _(You're supposed to have some understanding of it)_ * How to create webpages _(it's not the main goal but maybe we can do something little)_ * How to gain money using [crypto](https://www.youtube.com/watch?v=YQ_xWvX1n9g) _(please, don't do crypto it's bad for you and the enviroment)_ * How to create an Artificial Intelligence to cheat using ChatGPT * A full stack developer course. This subject is more general and no so specific than that. * How to enter other person e-mail. ## How is it going to be evaluated You can check it out for yourself in the [guide](https://www.studocu.com/es-ar/document/kings-cross-school/computacion/computer-science-guide-first-assessment-2027-ib-diploma-programme/120857683) in "assesment outline" The main idea is that your grade is going to be evaluated not for _me_ the teacher, but is **the IB in charge of evaluating** you. It's like doing a Cambridge exam but for _every subject_. So here my role is to prepare you to that assesments. There are two types * External. What you could put as an "exam". Some subjects have 2 exams ("papers"). * Internal. There are more like "projects"/"exercises". You will be asked about your Internal Assessment in your subjects or "IA" Depends if you're in HL (High Level) or SL (Standard Level) your grading is going to be different. Let's see it. ### SL (Standard Level) You will have 2 papers: * Paper 1 is about the theoretical concepts and a case study. The case study is different for each year and it will be released 12 months prior the examination. * Paper 2 is about programming and some algoritmic thinking. In those paper calculators are not allowed. That's a total of 115 marks and it makes a 70 % of the total grade. Then you will have the IA and the project 4 group activity that's going to be another 30 marks and 30% of the total grade. ![image](https://hackmd.io/_uploads/S1k5uP35xg.png) ### HL (High Level) You will have 2 papers: * Paper 1 is about the theoretical concepts and a case study. The case study is different for each year and it will be released 12 months prior the examination. * Paper 2 is about programming and some algoritmic thinking. As in the SL, calculators are not allowed and that makes 195 marks and it's 80 % of the final grade. Then you will have the same IA and the project 4 group activity but that makes only 20 % of the total grade. ![image](https://hackmd.io/_uploads/r1uAdw2qle.png) ### Grade boundaries IB works with boundaries from 1 to 7. A 1 is awful and a 7 is the maximum. IB is hard and they know that so they make a grade boundary each year. [Here](https://drive.google.com/file/d/1AWLW3wdIklLwiELMLzg1K2MJk0VTVAUE/view) you can consult the biased data (because of Covid) from the year 2021. For here I'm using these gradings: |Grade |Percentage bigger than| | -------- | -------- | 1| 0 % 2| 14 % 3| 29 % 4| 39 % 5| 49 % 6| 59 % 7| 69 % *This gradings are subject to change using the current year grade boundaries. Let's see with an example If you do a test with 27 marks and you have 15 correct you will have a percentage of 15/27 = 56%, and that means you have a 5. You would need a 63% (17/27) to get a 6. When I have several grades I would first make the aritmethic average in the percentage and then find out the grade boundary. During the course if we use IB type questions I will use this grading. If not, I will use a percentage. ### Evidence based grades The other grade that you will see each trimester is the evidence based grade. That will collect mainly the exams and other activities. I will ponder them and I'll tell you "this trimester you did it good" (or not). When the end of the term arrives, I will make an average on the mark percentage that you had over the term and then I'm going to use the current grade boundaries. Then, increasing with each trimester I'm going to apply a moderation using the Internal Assesment (negative if not on track, 0 if it's on track, positive if it's beyond expectations) I'll check out the homework on classroom and you will have a comment on homework. The idea is that any given homework it's to keep the subject fresh in your minds. There are another kind of deadlines that we'll arrive that are more strict. Those are the IAs. The tutor will be noticed right away if you miss any of these deadlines. ## The books and the topics We're going to use Oxford course companion. I think is a good book. ### Notes suggestion I suggest to take notes with paper and pencil in class. It's easier not to get distracted. Also it will happen that you will see different formattings that are complicated to express using word and if you need to format while taking notes you will lose the thread of what's happening in the class. How do I take notes of any class: I take notes on any kind of subject is about and put down. I made that effort so I have to think of what's happening in the class and maybe I can use it or not. Maybe those notes are not good enough for making some "proper studing notes" but I least I have the idea of what happened that day in class and I can use other references. (The book, a colleague notes, something I found in the internet). If we're doing something more "learning by doing" (like programming an arduino) I'll take notes of what I'm doing as a journey. If I find something interesting I take note of it. In these cases writing in the computer could be more useful since I can copy-paste the code I'm referencing for. [Here](http://fabacademy.org/2020/labs/barcelona/students/david-prieto/assignments/week12/) you can find a example of myself doing that. And [here](https://github.com/Tabrih/Arduino/blob/main/Cerrojo%20de%20Puerta.md) one my students with some notes regarding arduino. I suggest, if you're going to take notes on the computer not only use "documents"/word but work with hackmd.io or github/gitlab using markdown language. ### Computer policies You will need to use your computer to do CS, specially in projects. You might be asked to download IDEs or some programs. You can use the computer to have a pdf of the book. I have a strict policy about computers. In my class it can only be used for the contents of the subject. * If you have any autostart program that is not related to studying, take it out. You can configure it so it doesn't start with the OS. (Examples: Steam, epic store, whatsapp, discord) * You're not allowed to do other subjects here. * I know that you can switch between tabs/applications/desktops. Other applications **must** be closed. If you need help so discord/steam/epic games doesn't open automatically I'd be glad to help. The consequences are going to be "in crescendo", from just telling you close the other applications. Taking your device until the end of the class or the end of the day. Since it's a bit difficult to work in CS without a computer, I suggest to follow these policies. ## The plan for the next days We're going to start with programming with Arduino. You've noticed that in the programming part we're going to work with java or python. But I want to do a couple of classes about programming using arduino. I'd need you to install Arduino IDE from this link: https://www.arduino.cc/en/software/?_gl=1*1gu4wj8*_up*MQ Or use arduino ide cloud with an account. Be aware that for that you'll need to use chrome https://cloud.arduino.cc/?_gl=1*1g9t65s*_up*MQ The plan is to explain very basic concepts of programming using very simple programs that will actually light with you. ## Reference * IB Guide: https://www.studocu.com/es-ar/document/kings-cross-school/computacion/computer-science-guide-first-assessment-2027-ib-diploma-programme/120857683 * Tutorials and courses about Java as a complement for the course: https://d-prieto.medium.com/resources-to-learn-java-c4f6a1bd4d98