Difference between revisions of "TIG167"

From Juneday education
Jump to: navigation, search
(Week 1 (w 45): Descriptive headers)
(10.15 - 12.00 Lecture - C language and Arduino (for the fun of it))
(16 intermediate revisions by 2 users not shown)
Line 33: Line 33:
 
* Project intro
 
* Project intro
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
=== Friday 9/11 - Introduction to HTTP, HTML and Json===
+
=== Friday 9/11 - Introduction to HTTP, HTML and Json ('''project''')===
 
====Preparation====
 
====Preparation====
 
Study the following wiki pages:
 
Study the following wiki pages:
Line 41: Line 41:
 
* [[Web:Introduction_to_JSON|Introduction to JSON]]
 
* [[Web:Introduction_to_JSON|Introduction to JSON]]
  
====10.15 - 12.00 Lecture (Server) ====
+
====10.15 - 12.00 Lecture (Server)  ('''project''')====
 
* [[Web:HTTP]]
 
* [[Web:HTTP]]
 
** [[Web:HTTP_-_Exercises]]
 
** [[Web:HTTP_-_Exercises]]
Line 50: Line 50:
  
 
== Week 2 (w 46)==
 
== Week 2 (w 46)==
=== Monday 12/11 ===
+
=== Monday 12/11 - Android - basics, resources, views===
 
====Preparation====
 
====Preparation====
 
Study the following material:
 
Study the following material:
Line 56: Line 56:
 
* [[Android:Resources|Android:Resources]]
 
* [[Android:Resources|Android:Resources]]
 
* [[Android:Adding_views|Android:Adding views]]
 
* [[Android:Adding_views|Android:Adding views]]
====10.15 - 12.00 Lecture (Android) ====
+
====10.15 - 12.00 Lecture (Android)  ('''project''')====
 
We will discuss:
 
We will discuss:
 
* [[Android:Android_basics|Android:Android basics]]
 
* [[Android:Android_basics|Android:Android basics]]
Line 64: Line 64:
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
  
=== Wednesday 14/11 ===
+
=== Wednesday 14/11 - Parsing Json from Java, Punk API workshop===
 
====Preparation====
 
====Preparation====
 
Study the following material:
 
Study the following material:
Line 73: Line 73:
 
** If you can answer the question, you are good to go on the workshop
 
** If you can answer the question, you are good to go on the workshop
  
====10.15 - 12.00 Lecture (Server) ====
+
====10.15 - 12.00 Lecture (Server)  ('''project''')====
 
* [[Workshop_Punk_API_-_Fetching_JSON_and_Parsing_JSON|Workshop Punk API - Fetching JSON and Parsing JSON]], only the following sections:
 
* [[Workshop_Punk_API_-_Fetching_JSON_and_Parsing_JSON|Workshop Punk API - Fetching JSON and Parsing JSON]], only the following sections:
 
** [[Workshop_Punk_API_-_Fetching_JSON_and_Parsing_JSON#Introduction|Workshop Punk API - Fetching JSON and Parsing JSON#Introduction]]
 
** [[Workshop_Punk_API_-_Fetching_JSON_and_Parsing_JSON#Introduction|Workshop Punk API - Fetching JSON and Parsing JSON#Introduction]]
Line 79: Line 79:
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
  
=== Friday 16/11 ===
+
=== Friday 16/11 - Java Collections===
 
====Preparation====
 
====Preparation====
 
Study the following material:
 
Study the following material:
Line 86: Line 86:
 
** See the video lectures
 
** See the video lectures
  
====10.15 - 12.00 Lecture (Java) ====
+
====10.15 - 12.00 Lecture (Java) ('''exam''') ====
 
We will discuss:
 
We will discuss:
* [[Java:Language_-_Collections|Java Collections]]
+
* [[Java:Language_-_Collections|Java Collections]] ('''exam''')
 
The remaining time, if any, is used as decided there then
 
The remaining time, if any, is used as decided there then
  
 
== Week 3 (w 47)==
 
== Week 3 (w 47)==
=== Monday 19/11 ===
+
=== Monday 19/11 - Android - ListView, Volley===
 
====Preparation====
 
====Preparation====
 
Study the following material:
 
Study the following material:
 
* [[Android:ListView|ListView]]
 
* [[Android:ListView|ListView]]
 
* [[Android:Network|Network with Volley]]
 
* [[Android:Network|Network with Volley]]
====10.15 - 12.00 Lecture (Android) ====
+
====10.15 - 12.00 Lecture (Android)  ('''project''')====
 
We will discuss:
 
We will discuss:
 
* [[Android:ListView|ListView]]
 
* [[Android:ListView|ListView]]
Line 105: Line 105:
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
 
Primary focus:
 
Primary focus:
=== Wednesday 21/11 ===
+
 
 +
=== Wednesday 21/11 - Java - Servlets and Winstone===
 
====Preparation====
 
====Preparation====
 
Study the following material:
 
Study the following material:
Line 113: Line 114:
 
* [[Java-Web:Servlet_-_HTTP_response_codes]]
 
* [[Java-Web:Servlet_-_HTTP_response_codes]]
 
* [[Java-Web:Exercises_-_Servlet_-_HTTP_response_codes]]
 
* [[Java-Web:Exercises_-_Servlet_-_HTTP_response_codes]]
====10.15 - 12.00 Lecture (Server) ====
+
====10.15 - 12.00 Lecture (Server)  ('''project''')====
 
Workshop (together)
 
Workshop (together)
 
* [[Java-Web:Workshop-Introduction_to_Servlets]]
 
* [[Java-Web:Workshop-Introduction_to_Servlets]]
Line 125: Line 126:
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
  
=== Friday 23/11 ===
+
=== Friday 23/11 - Java - Design patterns - Factory, Singleton===
 
====Preparation====
 
====Preparation====
 
Study the following material:
 
Study the following material:
* [[Design_patterns_-_introduction|Design patterns - introduction]]
+
* [[Design_patterns_-_introduction|Design patterns - introduction]]  
 
* [[Design_patterns_-_Factory|Factory]]
 
* [[Design_patterns_-_Factory|Factory]]
 
* [[Design_patterns_-_Singleton|Singleton]]
 
* [[Design_patterns_-_Singleton|Singleton]]
====10.15 - 12.00 Lecture (Design Patterns) ====
+
====10.15 - 12.00 Lecture (Design Patterns) ('''exam''') ====
 
We will discuss:
 
We will discuss:
* [[Design_patterns_-_introduction|Design patterns - introduction]]
+
* [[Design_patterns_-_introduction|Design patterns - introduction]] ('''exam''')
* [[Design_patterns_-_Factory|Factory]]
+
* [[Design_patterns_-_Factory|Factory]] ('''exam''')
* [[Design_patterns_-_Singleton|Singleton]]
+
* [[Design_patterns_-_Singleton|Singleton]] ('''exam''')
 
The remaining time, if any, is used as decided there then
 
The remaining time, if any, is used as decided there then
  
 
== Week 4 (w 48)==
 
== Week 4 (w 48)==
=== Monday 26/11 ===
+
=== Monday 26/11 - Android - Adding your own classes, Storage===
 
====Preparation====
 
====Preparation====
 
Study the following material:
 
Study the following material:
 
* [[Android:Your_own_classes|Adding your own classes]]
 
* [[Android:Your_own_classes|Adding your own classes]]
 
* [[Android:Storage|Storage]]
 
* [[Android:Storage|Storage]]
====10.15 - 12.00 Lecture (Android) ====
+
====10.15 - 12.00 Lecture (Android) ('''project''') ====
 
We will discuss:
 
We will discuss:
 
* [[Android:Your_own_classes|Adding your own classes]]
 
* [[Android:Your_own_classes|Adding your own classes]]
Line 152: Line 153:
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
 
Primary focus:
 
Primary focus:
=== Wednesday 28/11 ===
+
=== Wednesday 28/11 - Java - Creating Json from Java===
 
====Preparation====
 
====Preparation====
 
Study the following material:
 
Study the following material:
 
* [[Java-Web:Creating_JSON_from_Java|Creating JSON from Java]] (in particular the material on <code>org.json</code>)
 
* [[Java-Web:Creating_JSON_from_Java|Creating JSON from Java]] (in particular the material on <code>org.json</code>)
====10.15 - 12.00 Lecture (Server) ====
+
====10.15 - 12.00 Lecture (Server)  ('''project''')====
 
We will discuss:
 
We will discuss:
 
* [[Java-Web:Creating_JSON_from_Java|Creating JSON from Java]] (in particular the material on <code>org.json</code>)
 
* [[Java-Web:Creating_JSON_from_Java|Creating JSON from Java]] (in particular the material on <code>org.json</code>)
Line 162: Line 163:
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
  
=== Friday 30/11 ===
+
=== Friday 30/11 - Java - Design patterns - Builder patterns===
 
====Preparation====
 
====Preparation====
====10.15 - 12.00 Lecture (Design Pattern) ====
+
====10.15 - 12.00 Lecture (Design Pattern) ('''exam''') ====
 
* [[Design_patterns_-_Builder|Builder]]
 
* [[Design_patterns_-_Builder|Builder]]
 +
 
== Week 5 (w 49)==
 
== Week 5 (w 49)==
=== Monday 3/12 ===
+
=== Monday 3/12 - Java - Strings and I/O, Time API, Ternary operator, Arrays===
 
====Preparation====
 
====Preparation====
====10.15 - 12.00 Lecture (Java) ====
+
====10.15 - 12.00 Lecture (Java) ('''exam''') ====
* [[Java:API:Strings_and_IO|Strings_and_IO]]
+
* [[Java:API:Strings_and_IO|Strings_and_IO]]
* [[Java:API:Time|Time]]
+
* [[Java:API:Time|Time]]
* [[Java:Language_-_Ternary_operator|Ternary Operator]]
+
* [[Java:Language_-_Ternary_operator|Ternary Operator]]  
* [[Java:Language_-_Arrays|Arrays]]
+
* [[Java:Language_-_Arrays|Arrays]]  
  
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
 
Primary focus:
 
Primary focus:
  
=== Wednesday 5/12 ===
+
=== Wednesday 5/12 - Java - Enums, Java 7 additions===
 
====Preparation====
 
====Preparation====
====10.15 - 12.00 Lecture (Java) ====
+
====10.15 - 12.00 Lecture (Java) ('''exam''') ====
* [[Java:Language_-_Enums|Enums]]
+
* [[Java:Language_-_Enums|Enums]]
* [[More_programming_with_Java#New_stuff_added_to_Java_7|New stuff added to Java 7]]
+
* [[More_programming_with_Java#New_stuff_added_to_Java_7|New stuff added to Java 7]] ('''exam''')
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
=== Friday 7/12 ===
+
=== Friday 7/12 - Computer - Binary representation===
 
====Preparation====
 
====Preparation====
====10.15 - 12.00 Lecture (Computer) ====
+
====10.15 - 12.00 Lecture (Computer) ('''exam''')====
* [[Computing:Binary_representation|Binary Representation]]
+
* [[Computing:Binary_representation|Binary Representation]] ('''exam''')
 +
 
 
== Week 6 (w 50)==
 
== Week 6 (w 50)==
=== Monday 10/12 ===
+
=== Monday 10/12 - Java, JNI, C ===
 
====Preparation====
 
====Preparation====
====10.15 - 12.00 Lecture (Java)====
+
====10.15 - 12.00 Lecture (Java) ('''for the fun of it''')====
 
* [[Chapter:C_extra_JNI|Java, JNI, C]]
 
* [[Chapter:C_extra_JNI|Java, JNI, C]]
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
 
Primary focus:
 
Primary focus:
=== Wednesday 12/12 ===
+
=== Wednesday 12/12 - Streams and Lambdas ===
 
====Preparation====
 
====Preparation====
====10.15 - 12.00 Lecture (Java) ====
+
====10.15 - 12.00 Lecture (Java) ('''exam''')====
* [[Java:Language_-_Streams_and_Lambdas|Streams and Lambdas]]
+
* [[Java:Language_-_Streams_and_Lambdas|Streams and Lambdas]]
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
=== Friday 14/12 ===
+
=== Friday 14/12 - you decide  ===
 
====Preparation====
 
====Preparation====
====10.15 - 12.00 Lecture (misc) ====
+
====10.15 - 12.00 Lecture (misc)====
 
* students decide topic(s)
 
* students decide topic(s)
 +
* [[Network:Workshop]]
 +
* [https://github.com/progund/introduction-to-network/tree/master/cross-compile cross-compile]
  
 
== Week 7 (w 51)==
 
== Week 7 (w 51)==
=== Monday 17/12 ===
+
=== Monday 17/12 - Class loading and Object initialization ===
 
====Preparation====
 
====Preparation====
====10.15 - 12.00 Lecture (Java)====
+
====10.15 - 12.00 Lecture (Java) ('''exam''')====
* [[Java:Language_-_Classloading_and_Object_intialization|Class loading and Object initialization]]
+
* [[Java:Language_-_Classloading_and_Object_intialization|Class loading and Object initialization]] ('''exam''')
  
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
 
Primary focus:
 
Primary focus:
=== Wednesday 19/12 ===
+
=== Wednesday 19/12 - students decide ===
 
====Preparation====
 
====Preparation====
 +
none
 
====10.15 - 12.00 Lecture (students decide)====
 
====10.15 - 12.00 Lecture (students decide)====
 +
* kod från intressanta projekt och diskussion kring detta
 +
snabbt om CBC (Correctness By Construction)
 
==== 13.15 - 15.00 Supervision ====
 
==== 13.15 - 15.00 Supervision ====
=== Friday 21/12 ===
+
 
 +
=== Friday 21/12 -C language and Arduino ===
 
====Preparation====
 
====Preparation====
====10.15 - 12.00 Lecture (Misc) ====
+
====10.15 - 12.00 Lecture - C language and Arduino ('''for the fun of it''')====
* Workshop: C language and Arduino
+
* Workshop: [[Arduino:workshop|Arduino:workshop]]
  
 
= Schedule 2017=
 
= Schedule 2017=

Revision as of 16:02, 20 December 2018

Contents

Schedule 2018

Bonus course material

This year, we offer you our Datorkunskap för IT-studenter (Swedish) compendium, as bonus reading. It contains a thorough introduction to working in the command line. It is not mandatory reading, but we recommend it.

The main course material will be on this wiki, as usual.

Preparation

Make sure you (still) know Java

The following chapters (and their corresponding exercises) are recommended that you read in order to be prepared for this course:

Install software

Week 1 (w 45)

Wednesday 7/11 - course and project introduction

Preparation

10.15 - 12.00 Lecture

  • Course intro
  • Project intro

13.15 - 15.00 Supervision

Friday 9/11 - Introduction to HTTP, HTML and Json (project)

Preparation

Study the following wiki pages:

10.15 - 12.00 Lecture (Server) (project)

13.15 - 15.00 Supervision

Week 2 (w 46)

Monday 12/11 - Android - basics, resources, views

Preparation

Study the following material:

10.15 - 12.00 Lecture (Android) (project)

We will discuss:

The remaining time, if any, is used as decided there then

13.15 - 15.00 Supervision

Wednesday 14/11 - Parsing Json from Java, Punk API workshop

Preparation

Study the following material:

10.15 - 12.00 Lecture (Server) (project)

13.15 - 15.00 Supervision

Friday 16/11 - Java Collections

Preparation

Study the following material:

  • Java Collections
    • Read the examples and texts on that page
    • See the video lectures

10.15 - 12.00 Lecture (Java) (exam)

We will discuss:

The remaining time, if any, is used as decided there then

Week 3 (w 47)

Monday 19/11 - Android - ListView, Volley

Preparation

Study the following material:

10.15 - 12.00 Lecture (Android) (project)

We will discuss:

The remaining time, if any, is used as decided there then

13.15 - 15.00 Supervision

Primary focus:

Wednesday 21/11 - Java - Servlets and Winstone

Preparation

Study the following material:

10.15 - 12.00 Lecture (Server) (project)

Workshop (together)

We will discuss:

The remaining time, if any, is used as decided there then

13.15 - 15.00 Supervision

Friday 23/11 - Java - Design patterns - Factory, Singleton

Preparation

Study the following material:

10.15 - 12.00 Lecture (Design Patterns) (exam)

We will discuss:

The remaining time, if any, is used as decided there then

Week 4 (w 48)

Monday 26/11 - Android - Adding your own classes, Storage

Preparation

Study the following material:

10.15 - 12.00 Lecture (Android) (project)

We will discuss:

The remaining time, if any, is used as decided there then

13.15 - 15.00 Supervision

Primary focus:

Wednesday 28/11 - Java - Creating Json from Java

Preparation

Study the following material:

10.15 - 12.00 Lecture (Server) (project)

We will discuss:

The remaining time, if any, is used as decided there then

13.15 - 15.00 Supervision

Friday 30/11 - Java - Design patterns - Builder patterns

Preparation

10.15 - 12.00 Lecture (Design Pattern) (exam)

Week 5 (w 49)

Monday 3/12 - Java - Strings and I/O, Time API, Ternary operator, Arrays

Preparation

10.15 - 12.00 Lecture (Java) (exam)

13.15 - 15.00 Supervision

Primary focus:

Wednesday 5/12 - Java - Enums, Java 7 additions

Preparation

10.15 - 12.00 Lecture (Java) (exam)

13.15 - 15.00 Supervision

Friday 7/12 - Computer - Binary representation

Preparation

10.15 - 12.00 Lecture (Computer) (exam)

Week 6 (w 50)

Monday 10/12 - Java, JNI, C

Preparation

10.15 - 12.00 Lecture (Java) (for the fun of it)

13.15 - 15.00 Supervision

Primary focus:

Wednesday 12/12 - Streams and Lambdas

Preparation

10.15 - 12.00 Lecture (Java) (exam)

13.15 - 15.00 Supervision

Friday 14/12 - you decide

Preparation

10.15 - 12.00 Lecture (misc)

Week 7 (w 51)

Monday 17/12 - Class loading and Object initialization

Preparation

10.15 - 12.00 Lecture (Java) (exam)

13.15 - 15.00 Supervision

Primary focus:

Wednesday 19/12 - students decide

Preparation

none

10.15 - 12.00 Lecture (students decide)

  • kod från intressanta projekt och diskussion kring detta

snabbt om CBC (Correctness By Construction)

13.15 - 15.00 Supervision

Friday 21/12 -C language and Arduino

Preparation

10.15 - 12.00 Lecture - C language and Arduino (for the fun of it)

Schedule 2017

2017-11-01

13:00 - 15:00 (föreläsning)

Inga förberedelser behövs. Vi går igenom:

  • kursen
  • pedagogiken
  • projekt

Submissions

Upload project proposal (pdf, txt) including:

  • name of project participants
  • goal
  • intended users
  • techniques used (such as network, database...)
  • how the project scales (important that you can finish at least some parts, and then this part, and then this part...)

2017-11-06

10:00 - 12:00 (föreläsning)

Inga förberedelser behövs

13:00 - 15:00 (handledning)

  • Prio 1: installation av Android Studio avklarat
  • Prio 2: en Hello world-app skall gå att skapa, köra på mobil/platta och i emulator
  • Prio 3: Exercises on Android Basics
  • vad ni vill

2017-11-08

10:00 - 12:00 (föreläsning)

13:00 - 15:00 (handledning)

2017-11-10

10:00 - 12:00 (handledning)

  • vad ni vill

2017-11-13

10:00 - 12:00 (föreläsning)

13:00 - 15:00

  • Handl

2017-11-15

10:00 - 12:00 (föreläsning)

13:00 - 15:00

  • Handl

2017-11-20

Föreberedelser (Exceptions-delen)

Läs:

Se:

  • Exceptions channel (Eng)
    • Slides PDF (18 sidor)

Frivillig videorepetition: Se frivillig läsning ovan!

10:00 - 12:00 (föreläsning)

2017-11-22

10:00 - 12:00

  • Handl

13:00 - 15:00 (föreläsning)

2017-11-24

10:00 - 12:00

  • Handl

2017-11-27

10:00 - 12:00

* Förel

2017-11-28

10:00 - 12:00 (föreläsning)

  • FOSS (c), licens osv
  • enum
  • Classloading
  • Static or non static
  • Genomgång av Chat-server/Chat-klient
  • Data strukturer (förmodligen nästa gång)
    • list - ordered/sequential elements
    • set - making sure we have a unique collection
    • map - finding unique keys when "normalizing XML to database"
    • stack - browser (back/forward), android Activity back stack, call stack
    • queue - probably skipping this one
    • tree -
    • hash table
    • hash maple
    • binary search tree vs. binary search (on an ordered list)
    • hashcode()

2017-11-30

10:00 - 12:00

  • Handl

2017-12-01

10:00 - 12:00 (föreläsning)

  • FOSS (c), licens osv
  • enum
  • Classloading
  • Static or non static
  • Genomgång av Chat-server/Chat-klient
  • Data strukturer (förmodligen nästa gång)
    • list - ordered/sequential elements
    • set - making sure we have a unique collection
    • map - finding unique keys when "normalizing XML to database"
    • stack - browser (back/forward), android Activity back stack, call stack
    • queue - probably skipping this one
    • tree -
    • hash table
    • hash maple
    • binary search tree vs. binary search (on an ordered list)
    • hashcode()

13:00 - 15:00

  • Handl

2017-12-04

10:00 - 12:00 (föreläsning)

Vi kikade på: JNI som, enligt wikipedia; The Java Native Interface (JNI) is a programming framework that enables Java code running in a Java Virtual Machine (JVM) to call and be called by[1] native applications (programs specific to a hardware and operating system platform) and libraries written in other languages such as C, C++ and assembly.

Vi kunde inte spela in föreläsningen. Sorry!

JNI

Chat client

Förkunskaper: Networking (and web)

2017-12-06

10:00 - 12:00

  • Handl

13:00 - 15:00

  • Handl

2017-12-11

10:00 - 12:00 (föreläsning)

2017-12-13

13:00 - 15:00

  • Handl

2017-12-15

10:00 - 12:00

  • Handl

2017-12-18

10:00 - 12:00

  • Handl

13:00 - 15:00

  • Handl

2017-12-20

10:00 - 12:00

  • Handl

13:00 - 15:00

  • Handl