Available courses

Predmet je namenjen spoznavanju z osnovnim frontend prigramiranjem. Razdeljen je v štiri sklope: HTML, CSS, Boostrap ter Angular, Vue, React. Vsak sklop vsebuje videoposnetke z razlago in datoteke primera.

V okviru projekta #pametnomesto 2034 bo Fakulteta za računalništvo in informatiko v sodelovanju z Mestno občino Ljubljana in Zavodom Varni internet v novem šolskem letu 2019/20 učencem tretje triade predstavila, jih seznanila in podučila o Internetu stvari (IoT). Internet stvari je namreč tema, ki predstavlja prihodnost jutrišnjega dne. Na izobraževalnem doživetju udeleženci spoznajo kaj Internet stvari je ter zakaj bo v prihodnosti odigral tako pomembno vlogo v življenju vsakega posameznika. Z izobraževanjem, ki se navezuje na splet, internet, tehniko, tehnologijo in programiranje bodo udeleženci spoznali in doživeli, kako novodobna tehnologija in znanost lahko oživi. Z uporabo različnih učnih metod in s pomočjo Micro:Bit-a bodo udeleženci spoznali, načrtovali, sestavljali in sprogramirali čisto pravo pametno mesto, mesto, ki bo prilagojeno prebivalcem leta 2034. Brez skrbi, zabavno bo!

Izobraževalni program je namenjen osnovnošolskim in srednješolskim učiteljem, ki želijo v okviru pouka, tehniških dni ali krožka z učenci in dijaki izdelati napravo IoT. Program je organiziran kot sklop 3 enodnevnih delavnic (3 x 8 šolskih ur), na katerih udeleženci postopoma gradijo vedno bolj zmogljive naprave.  Skozi praktično delo spoznajo NodeMCU tolmač za programski jezik Lua, strojno opremo NodeMCU (ESP8266), uporabo tipal in prikazovalnikov LED in OLED, osnove protokolov TCP/IP in HTTP(S) ter uporabo storitev ThingSpeak v računalniškem oblaku.  

Računalniške programe --- navodila, ki računalniku povedo, kaj naj počne --- pišemo v jezikih, ki so za razliko od človeških zelo omejeni, a povsem natančni in nedvoumni. Na delavnici bomo spoznali osnove jezika po imenu python. Računalnik bomo naučili, da nas bo vljudno pozdravil, narisal kak vzorec ali pa nam zastavil kakšno računsko nalogo. Naši programi bodo preprosti, imeli pa bodo marsikaj od tistega, kar imajo veliki.

Every programmer should gather insight into programming techniques
that are different from the well-known procedural and object-oriented
approaches. Lately, the functional programming paradigm is gaining
popularity and allows decomposition of programs into independent
functions, that can be executed in parallel.

In the
Programming course we will study functional programming in programming
languages ML and Racket. We will talk about: language typing, lexical
and dynamic scopes, function closures, and also develop an interpreter
for a custom programming language. Our goal will be to gain deeper
understanding of  programming languages' and mastery of programming.

Prerequisites
for taking this course are basic programming skills in procedural
programming languages (such as Java, C++, Python) and understanding of
recursion.

The course consists of lectures, laboratory exercises and homeworks.

Do you want to know how encrypted data can be processed correctly so that a processor is “not aware” of their content? Would you like to know how BitCoin works and be able to make a similar solution on your own? Are you interested in becoming a (chief) security officer, information systems security auditor, or a specialist in cyber-security operations? If yes, welcome to Information Systems Security and Privacy course.

Information systems security and privacy is one among key focuses in contemporary information systems, ranging from business environments, public environments to private environments, and even to the level of states security. Students will get a knowledge (theoretical and practically applicable) about security and privacy provisioning ranging from ordinary information systems to internet of things and cloud computing. The goal of the course is to provide students with appropriate knowledge to a such extent that they will be able to pursue careers as developers, system administrators, managers (like chief security officers) and consultants.

The course will start with an overview of historical development of this field and key standardization organizations and bodies (ISO, ITU-T, ANSI, IETF, W3C, OASIS, OMG,...). Next, risk management will be discussed, followed by security mechanisms and services (principles and practical applications). Next, public key infrastructure, privilege infrastructure and Authentication, Authorization and Accounting infrastructures will be covered (time base synchronization, Radius, etc.). Afterward, security will be covered along the IP stack, layer by layer, from physical to application layer (protocols will include WEP, WPA, WPA2, IPSec, TLS, S/MIME, SET, XMLSec, XAML, XACML, and WS-*). Development and verification of security and privacy systems strongly depends on formal methods, therefore hese methods will be presented with some key representatives (e.g., Rueppel's formal method). Last but not least, we will focus on specifics of cloud security, privacy in the Internet of things and digital currencies (BitCoin).

The main thread of this course will be complemented by hands-on laboratory works. But also lectures are going to be "refreshed" by including practical work on selected, special topics like security simulations, documents security within operational PKI, etc. This course assumes familiarity with the basics of Computer communications and / or Computer protocols courses, and Wireless mobile ommunications course, because it extends significantly the basics given in these courses. The course will be in English, while in case of only Slovene speaking students it may be conducted in Slovene.