In diesem CAS lernen Sie, wie ein Computer grundsätzlich funktioniert und wie Informationen in einem Computer codiert und verarbeitet werden. Weiter lernen Sie, wie Problemstellungen mit einem Algorithmus und einer Programmiersprache systematisch gelöst und wie grosse Informationsmengen strukturiert in relationalen Datenbanken verarbeitet werden.
Zielpublikum:Das Weiterbildungsangebot im Bereich Informatik richtet sich an
- ICT-Quereinsteiger, die eine fundierte und breite Ausbildung in Informatik absolvieren wollen;
- ICT-Fachkräfte mit mehrjähriger Berufserfahrung und Spezialisten, die sich im Bereich Informatik als Ganzes oder in einem spezifischen Thema der Informatik weiterbilden bzw. spezialisieren wollen.
Ziele:Folgende Fragestellungen stehen im Zentrum des CAS Computer Science 1:
- Wie funktioniert ein Computer grundsätzlich?
- Wie wird Information im Computer codiert und verarbeitet?
- Wie sieht der Aufbau eines modernen Computers (Hard- und Software) aus?
- Wie programmiere ich einen Computer und was für Programmiersprachen gibt es?
- Wie entwerfe und programmiere ich systematisch einen Algorithmus zur Lösung eines Problems?
- Was ist eine Datenbank und wie kann ich Daten darin abfragen und bearbeiten?
Inhalt:
Modul "Grundlagen Informatik"
- Grundbegriffe wie Bit, Byte und Wort
- Zahlensysteme und Konvertierungsalgorithmen: Binär-, Oktal-, Dezimal- und Hexadezimalsystem
- Rechnen im Binärsystem: Addition, Subtraktion, Multiplikation, Division
- Darstellung von Zeichen und Text (ASCII, Unicode)
- Informationstheorie: Entropie, Redundanz und Anwendung in der Datenkompression und Fehlererkennung
- Gesetze einer Booleschen Algebra
- Logische Funktionen und Gatter
- Kombinatorische und sequentielle Grundschaltungen (Multiplexer, Addierer, Schieberegister, Zähler)
- Aufbau und Funktionsweise eines Computers (Von-Neumann-Architektur)
- Moderne Rechnerarchitekturen und alternative Computermodelle (z.B. Quantencomputer)
Modul "Programmiersprachen"
- Programme mit Python erstellen
- Variablen und Datentypen
- Kontrollstrukturen und Logik (Sequenz, Selektion, Iteration)
- Arrays und Collections
- Funktionen, Module
- Entwurf und Analyse von Algorithmen (Greedy, Divide and Conquer, Rekursion, Komplexität und O-Notation)
- Lösen praktischer, einfacher Programmieraufgaben
- Beschreibung von formalen Sprachen
- Charakteristika und Vertreter der einzelnen Generationen von Programmiersprachen
- Imperatives, objektorientiertes und deklaratives Programmierparadigma
Modul "Hardwarenahe Programmierung"
- Einführung in die Mikrocontroller-Programmierung mit C (Datentypen, Operatoren, Funktionen)
- Analoge und digitale Ein- und Ausgabeschnittstellen (GPIO, I2C, SPI)
- Einlesen von Sensorwerten (Temperatur, Luftfeuchtigkeit, Beschleunigung etc.)
- Ansteuern von Aktoren (LED, Buzzer, LCD, Motoren etc.)
- Anwendungen wie Internet of Things (IoT)
- Praktisches Arbeiten mit einem Mikrocontroller (Arduino-Plattform) für einfache Überwachungs-, Steuerungs- und Regelungsaufgaben
Modul "Datenbanken"
- Einführung in Datenbanksysteme
- Datenmodellierung (Entity-Relationship-Diagramm) und Normalformen
- Relationale Algebra und Datenbankabfragesprache SQL
- Datenbankprogrammierung (Stored Procedures, Trigger)
- Aufbau und Zweck von Indexen
- Transaktionen, ACID-Prinzip
- Praktisches Arbeiten mit einem Datenbanksystem (z. B. MySQL) und Anbindung an eine Anwendung (Python)
- Alternative Datenbank-Modelle (z. B. NoSQL)