ABC inżynierii komputerowej, czyli co każdy komputerolog wiedzieć powinien

W głównym dziale tego serwisu zebrane są informacje stanowiące swego rodzaju elementarz komputerologi. Mogą być one przydatne zarówno podczas samokształcenia jak i podczas organizacji oraz realizacji zajęć w postaci bardziej zorganizowanej - np. przedmiotu wprowadzającego do kursu zaawansowanej informatyki i elektroniki dla uczniów szkół średnich (15-16 lat). Poniżej pozwolę sobie przedstawić założenia organizacyjne dla takich zajęć.

Kurs powinien mieć charakter wykładowo-warsztatowy (wykład z licznymi demonstracjami praktycznymi, które uczestnicy kursu mogą ćwiczyć bezpośrednio na laptopach ...) i być zaliczany projektami realizowanymi poza czasem zajęć wykładowych (czas pracy własnej i konsultacji w laboratorium). Kurs składa się z następujących bloków po 3h (4 godziny lekcyjne, mogą być realizowane jako 2x2):

  1. koncepcja systemu elektroniczno-programowego - logika 2 wartościowa i bramki logiczne, magistrala, adresy
  2. KOMPUTERY
  3. podstawy użytkowania UNIX - komendy, pliki, logi, urządzenia, interfejsy
  4. KOMUNIKACJA - sieci TCP/IP wraz routingiem, podstawowe usługi w sieciach IP, interfejsy komunikacyjne oraz sieć ethernet
  5. C - stdin/stdout, zmienne, pętle, instrukcje wyboru, wskaźniki
    1. odrobinkę o funkcjach bibliotecznych i systemowych w C
    2. C++ - obiektowość, szablony, biblioteka standardowa
  6. PODSTAWY ELEKTRONIKI - elementy bierne, dioda
  7. TRANZYSTORY - bipolarne (praca jako klucz i w stanie aktywnym), mosfet
    1. UKŁADY PROGRAMOWALNE
    2. JĘZYKI OPISU SPRZĘTU - VHDL
    3. MODELOWANIE AUTOMATÓW
  8. BASH - programowanie w oparciu o aplikacje, podstawy sed i awk
    1. AWK - przetwarzanie tekstowych baz danych
    2. INNE JĘZYKI PROGRAMOWANIA - przegląd (xml+xsl, sql, php, perl, python, ...)
  9. PODSUMOWANIE - wstęp do komputerologi
  10. administracja UNIX z usługami sieciowymi (w tym routingiem)
  11. oprogramowanie mikroprocesora (asembler) oraz realizacja peryferiów w FPGA (VHDL), jako element inteligentnego domu
  12. omówienie przykładowych zadań projektowych

Końcowe bloki (po podsumowaniu) realizowane mogą być w zależności od posiadanego czasu, z tego samego względu ich długość może być różna od nominalnej. Takie rozłożenie czasowe pozwala na realizacje tych zajęć w formie normalnego przedmiotu szkolnego jak i kursu wakacyjnego (np. dwa tygodnie, dwu godzinne zajęcia po 2 lub 3 razy dziennie)

W przypadku realizacji szkolnej zaliczenie odbywać powinno się w oparciu o dwa projekty (projekty te powinny być też realizowane w przypadku realizacji nieszkolnych):

  1. (kilka prostych zagadnień programistycznych rozwiązywanych zarówno przy pomocy C/C++ jak i bash/awk
  2. prosty układ elektroniczny (migacz diody) - realizowany zarówno w wersji dyskretnej (układ RC, jakaś bramka logiczna, tranzystor, ...) jak i w oparciu o mikrokontroler (dodatkowo: obsługa portu szeregowego i przerwań)

W przypadku gdy jest to przedmiot wprowadzający do większej ilości bardziej zaawansowanych zajęć (takich jak: "administracja UNIX i sieci TCP/IP", "programowanie w językach C i C++", "elektronika cyfrowa i systemy mikroprocesorowe", "(tranzystorowa) elektronika analogowa") powinien być dla nich "zalecanym poprzednikiem".

W przypadku realizacji na zasadzie samokształcenia wspomaganego współpracą z kimś bardziej obeznanym (model uczeń-mistrz) realizacja kolejnych tematów powinna odbywać się wg następującego algorytmu: 1) Wskazanie i wprowadzenie do zagadnienia. 2) Samodzielne opanowanie zagadnienia. 3) Przedstawienie wątpliwości dotyczących zagadnienia lub rozmowa egzaminacyjna. 4) W zależności od efektu pkt 3 przejście do następnego zagadnienia lub powrót do punktu 2 z podaniem dodatkowych wskazówek.

Należy jednak zawsze pamiętać iż komputerologii nie można zostać nauczonym - jej trzeba nauczyć się samemu poprzez eksperymentowanie, zgłębianie poszczególnych zagadnień itd. Mimo to przydatna jest pomoc kogoś doświadczonego, kto coś podpowie, a przede wszystkim będzie służył radą i pomocą przy trudniejszych zagadnieniach.



Copyright (c) 1999-2015, Robert Paciorek (http://www.opcode.eu.org/), BSD/MIT-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This text/program is free document/software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/inne/abc_komputerologii) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: '2015-10-10 11:32:06 (UTC)' (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).