Why is Python suitable for algorithms

What does a computer scientist actually do? You may think that they write programs all day. That's only part of the job. A Computer scientist is someone who can translate things from the real world we live in into how computers think and act. To do this, one must first understand how computers process information internally and how to translate problems into computer processes. It's called algorithmic thinking. Finally, the solution found is mapped in a programming language that the computer can actually execute.

There are a variety of Programming languagesthat you can learn. We recommend that you first get to know a language really well instead of learning several languages ​​at the same time. The fact is that most programming languages ​​are very similar when it comes to solving problems. The programming language developers have also been inspired by other programming languages. It's kind of like how English was influenced by German, Scandinavian, and French. French is a Romance language and has its origins in Latin, as do Spanish and Italian. With programming languages ​​it is very similar, it started with C, then C ++, then Java, C #, etc. Programming languages ​​are continuously being developed, so it is inevitable that we learn from each other.

As soon as you know a programming language well, you can learn another programming language quite easily. And algorithmic thinking can be converted into a solution with any programming language anyway.

You learn best when you know your own learning style. Some like it more logically structured and want to know exactly what they are doing. Others prefer to work on projects and learn from concrete examples. The following brief descriptions next to the learning opportunities should help you to find a system that corresponds to how you like to learn best and most. Some of the following offers are in German. Others are currently only available in English or are currently being translated. We have noted this in each case to make your decision easier. What they all have in common is that you get through them Algorithms and programming get to know.

Blockly Games

Age group: 8-14 years

programming language: Blockly and Javascript

Learning style: A series of puzzles that get more and more difficult as you progress.

Note: Blockly is a graphical programming environment that is very well suited as an introduction to programming. The puzzles start very easily so that you get familiar with Blockly.

language: German

link: https://blockly-games.appspot.com/?lang=de

Turtle Academy

Age group: 10-18 years

programming language: LOGO

Learning style: Playful graphics programming.

Note: A turtle moves on the screen and paints. The movement is under the control of your program code. While you are programming your turtle to e.g. For example, to paint a square, you get to know the algorithms behind it. There is help and solutions for every task.

language: German

link: https://turtleacademy.com/?lang=de_DE

ada7

Age group: 15-18

programming language: JavaScript

Learning style: Video-based course material

Note: ada7 offers students a motivating introduction to programming with JavaScript. Kara is a fun way to teach the basics. Then there is the possibility to learn object orientation with small examples and your own browser game. Suitable for self-study and for use in computer science classes.

language: German

link: https://ada7.de/

Google CS First

Age group: 9-14 years

programming language: Scratch

Learning style: video-based course material

Note: CS First consists of different projects, each containing 8 “activities”. In the activities, the programming of a project in Scratch is described in several videos. With a scratch project link available for the first video, the project can be edited accordingly after the videos. Each activity can be completed in about an hour.

language: German English

link: https://csfirst.withgoogle.com/s/de/home

Pencil Code: Activities for Students

Age group: 10-15 years

programming language: Blocks, Coffeescript, Javascript, CSS, and HTML

Learning style: Artistic. Create works of art, music or program an adventure. Learn to make a program with blocks.

Note: Online editor for creating programs. There are also videos to help you learn about the area. Unfortunately, the material is only available in English.

language: English

link: https://activity.pencilcode.net

Programming with the mouse

Age group: From 8 years

programming language: The model and basis is the graphic programming language Scratch of the MIT Lifelong Kindergarden

Learning style: Instructions using flashcards and small animations.

Note: Online editor for creating programs. There are also videos to help you learn about the area. Unfortunately, the material is only available in English.

language: German

link: https://programmieren.wdrmaus.de/

Training tasks for the youth competition

Age group: 10-19 years

programming language: Blockly

Learning style: Practice exercises

Note: A selection of training tasks serves as preparation for the IT youth competition. The level of difficulty varies from beginner to advanced. During the training, you get to know the Blockly environment.

language: German

link: jwinf.de

Code.org - Brief introduction to computer science

Age group: 10-18 years

programming language: Blockly

Learning style: Interactive course

Note: This course consists of 20 chapters and contains an introduction to computer science, as well as many programming exercises that are very easy to start. Before each chapter, short videos convey the learning content and deal with topics such as loops, functions, branches, etc. The buttons "Activity without a computer" are intended more for teachers and lead to videos and teaching material.

language: German English

link: https://studio.code.org/s/20-hour

CS Circles - learn Python interactively!

Age group: 10-18 years

programming language: Python3

Learning style: Freely structured online learning programs. CS Circles is a very good introduction to programming with Python.

Note: The course is provided by the University of Waterloo in Canada. The German version is operated by the national IT competitions.

language: German

link: http://cscircles.cemc.uwaterloo.ca/de/

Code It!

Age group: From 9 years

programming language: Blocks

Learning style: Interactive online courses - Independent solving of programming tasks that are guided by videos and simple text

Note: The online courses convey the basic concepts of programming through playful content and methods. After the courses, you can create and publish your own projects in open programming environments (computer games, graphics and animations).

language: German English

link: https://app.code-it-studio.de

Khan Academy Algorithms

Age group:14 years and older

programming language: JavaScript

Learning style: Combination of articles, graphs, exercises and programming exercises.

Note: What are algorithms and why should we bother with them? This course is an introduction to algorithm theory. In the course of the course, many useful standard algorithms are presented, such as search, sort, recourse and graph algorithms.

language: German English

link: https://de.khanacademy.org/computing/computer-science/algorithms

inf-schule.de

Age group: 14-18 years

programming language: no

Learning style: Inf-Schule is an electronic textbook for computer science.

Note: In eleven chapters, many important topics in computer science are dealt with, such as information, programming, algorithms and data structures, the function of a computer, communication and much more. At the beginning, we particularly recommend Chapter 2 (Getting started with programming) and Chapter 4 (Algorithms and data structures).

language: German

link: http://inf-schule.de

VisuAlgo

Age group: 12-18 years

programming language: no

Learning style: VisuAlgo clearly visualizes important computer science algorithms.

Note: From sorting to bit manipulation to a large number of graph algorithms, VisuAlgo offers visualizations of a large number of algorithms.

language: German English

link: https://visualgo.net/de

Programming super easy

Age group: from 10 years on

programming language: Scratch, Python, as well as references to Java, C, C ++

Learning style: Step by step with many examples

Note: This book introduces the exciting world of programming basics and shows how funny games and funny animations are developed using the programming languages ​​Scratch and Python.

language: German

Publishing info: Dorling Kindersley; ISBN 978-3-8310-2700-2

link: http://www.dorlingkindersley.de/titel-0-0/programmieren_supereasy-2315/

Python for kids

Age group: from 13 years

programming language: Python

Learning style: Step by step with many examples

Note: The inventor of the programming language Python wrote the foreword for this great book for children and young people, which introduces programming with Python in a playful way and with many examples. In addition to the book, there is also a website with examples, downloads and demos.

language: German

Publishing info: Dorling Kindersley; ISBN 978-3-8310-2700-2

link: http://python4kids.net

Fit for studies - computer science

Age group: from 16 years

Authors: Arne Boockmeyer, Philipp Fischbeck, Stefan Neubert

Learning style: Textbook with examples, puzzles, exercises and solutions

Note: Studying computer science is attractive. The only thing left to worry about is: am I fit to study computer science? This book can take that worry away - provided you read it and don't avoid the puzzles at the beginning and the tasks at the end of each chapter. The most important topics and areas of computer science are dealt with, so that at the end of the day you will have a broad overview of the subject and corresponding good basic knowledge. And that is definitely worth striving for, even if you don't necessarily want to study computer science.

language: German

Publishing info: Rheinwerk Computing, ISBN 978-3-8362-4406-0

link: https://www.rheinwerk-verlag.de/fit-furs-studium-informatik_4273/

Pocket book of algorithms

Age group: from 16 years

Authors: Various

Learning style: Textbook

Note: Behind many programs there are clever processes known as algorithms. Algorithms not only solve mathematical tasks that deal with numbers, but also other, very everyday problems that require a sense of logic, spatial orientation or skillful negotiation.

language: German

Publishing info: Springer Verlag; ISBN 978-3-540-76394-9 (ebook), ISBN 978-3-540-76393-2 (paperback)

link: http://www.springer.com/de/book/9783540763932

We introduce you to some languages. Some of them you surely know, others may be new to you. There are many manuals and courses for the different languages ​​on the Internet, and depending on where you live, there are also user groups and hackathons that take place on a regular basis. All tools here are freely available (except for CLion, XCode and VC ++).

In the last three competition years (2015-2018), Java (42%), C / C ++ dialects (23%), Python (21%) and JavaScript (4%) were the most popular programming languages ​​in the BwInf submissions. At the Computer Science Olympiads, programming is often done in a C ++ dialect.

At einstieg-informatik.de/community/ you will find the community area of ​​Access Computer Science.

There you can exchange ideas about BwInf, Junior-BwInf and programming in general in the forum.

You'll find us here

Nationwide IT competitions (BWINF)
Reuterstrasse 159
53113 Bonn

© Nationwide IT competitions (BWINF)