Programming, 3rd semester (PROG)

This plan is subject to change. Look at the plan often, but don't print it.

General reference

Week Dates Subjects Readings Exercises
35

28.08 - 01.09

  • Introduction to the course
  • Brush up on 2nd semester subjects, including Git and GitHub
  1. Plan week 35 Excel spread sheeet
  2. Check that you have the necessary software:
  3. Brush Up: Student + Test + Documentation | solution
  4. Hackerrank.com Programming competitions etc.
36 04.09 - 08.09
  • Mock exam, PROG only, no TEK (subjects from 2nd semester only)
    This mock exam is one of the mandatory study activities mentioned in the curriculum section 14.3
    • 3o Friday
    • 3b Tuesday
  • Software components
  1. Calculator part 1: DLL | Solution
  2. Calculator part 2: GUI | Solution
37

11.09 - 15.09

  • Web services (SOAP): Using existing services
  • Version control using Git + GitHub
  1. WcfTestClient is a handy tool for trying SOAP services.
    WcfTestClient comes with Visual Studio.
    In my computer WcfTestClient is found in the folder C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
    On you computer make a reference to WcfTestClient from your desktop.
  2. Consuming SOAP based web services | Solutions:
  3. WCF web service: Calculator | Solution
38

18.09 - 22.09

  • Web services (SOAP/WCF): Make your own services
  • Deploy your service to Microsoft Azure
  1. SOAP + DLL | Solution
  2. SOAP service unit and integration testing | Solutions SoapCalculatorWithUnitTest + SoapCalculatorIntegrationTest
  3. WCF web service: What is (not) possible | Solutions: WhatIsPossibleService + WhatIsPossibleClient
  4. SOAP based model store (CRUD etc.)
    Project type WCF (not Azure Cloud ...)
    Student objects can be kept in a STATIC List.
    Solutions: SoapStudentService + SoapStudentConsumer + SoapStudentServiceIntegrationTest
  5. Install Microsoft Azure SDK for .NET (takes some time ...) -> .NET -> VS 2015
    Necessary for Visual Studio 2017??
  6. If you don't have a subscription for Microsoft Azure, go and get an account from
    http://imagine.easj.dk
  7. Deploy on (or more) [not the calculator using DLL] of your SOAP service providers to Microsoft Azure.
    Try your Azure based SOAP provider with WcfTestClient
  8. Make clients (console applications) for the Azure versions of your services.
  9. Web service concepts
39 25.09 - 29.09
  • Web services (SOAP/WCF): Keep state on the server
  • SOAP: Continuous integration + deployment
  1. Create a simple database table in a Microsoft Azure relational database
  2. Simple client application to call the database directly.
  3. SOAP service to use the database
    Try the service with WcfTestClient
  4. Console applications to call the SOAP service provider
    a. locally (localhost), b. remote (Azure)
  5. Follow the steps in Setup a build server to continous integration for one (or more) of you SOAP service providers.
  6. Extra: Black Jack
40

02.10 - 06.10

  • IoT (Internet of Things)
  1. Download and install Putty (Putty.exe)
    Putty will enable you to communicate from your laptop to Raspberry Pi: Use the laptop keyboard + screen with the Pi.
    Hostname: raspberrypi.mshome.net
  2. Download and extract PiReceiver.
    PiReceiver is a simple Java application which listens for UDP broadcasts on port 31415 (Pi!).
    Our Raspberry Pi's have been configurated to broadcast their IP address on this port - but only the first couple of minutes after startup.
  3. Putty cannot connect to Raspberry Pi, a solution
  4. Controlling an RGB LED with our Raspberry Pi | Solution
  5. Extra: HackerRank: Python
  6. Extra: If you want to play with Python on your Windows computer simply install Python for Windows.
  7. Download and install WinSCP
    With WinSCP you can easily move files from Raspberry Pi to your laptop (and vice versa)
  8. Raspberry Pi, read measurements | Solution
  9. Send IoT measurements to the Cloud
  10. Extra: Pulse-Width Modulation
41

09.10 - 13.10

  • IoT continued
  • Electives: The ballot from last year
  1. IoT business opportunities
  2. UDP broadcast | solutions: UdpBroadcastSender + UdpBroadcastCapture
42 16.10 - 20.10 Autumn holidays all week    
43 23.10 - 27.10
  • Mock exam PROG+TEK
    This mock exam is one of the mandatory study activities mentioned in the curriculum section 14.3
    • 3b Tuesday
    • 3o Wednesday
  • REST URI design
  1. REST URI design
  2. Download + install Postman
    A tool to try your REST API
44

30.10 - 03.11

  • HTML
  • CSS
  • PHP
  • Friday 14:00 Election starts
    Presentation of subjects, Jernbanegade, Canteen
  1. w3schools.com/html play with some of the "Try it Yourself" (green buttons) examples
  2. Use the W3C HTML validator to validate some web pages, including my pages ...
    • If you find a page with a lot of illegal HTML, try viewing the page in different browsers. Any differences in what you see?
  3. Download + Instal PhpStorm
  4. Installing and Configuring XAMPP with PhpStorm IDE
    Download + installation is enough. No need for a lot of configuration
  5. Use PhpStorm to make a few linked web pages, like a presentation etc.
    Do not forget to HTML validate the pages.
  6. HTML Quiz
  7. w3schools.com/css play with some of the "Try it Yourself" (green buttons) examples
  8. Use PhpStorm to make an external style sheet. Define some relevant rules.
    Link the style sheet to one or more of you HTM documents.
  9. Add an internal style sheet to one of your HTML documents
  10. Add in-line styles to some of your HTML elements
  11. Validate your CSS
  12. CSS Quiz
  13. Extra: Bootstrap
  14. w3schools.com/php play with some the "Try it yourself" (green buttons) examples.
  15. PHP basic syntax and functions | Solution
  16. Simple calculator in PHP | Solutions: VerySimple + PostBack
  17. Deploy your PHP calculator to Azure. Help
  18. PHP Quiz
45

06.11 - 10.11

  • Election: 4th semester, which courses do you want?
  • HTML forms + PHP
  • Twig template engine for PHP
  1. Add one or more of your PHP projects to GitHub.
    JetBrains Registering GitHub Account in PhpStorm
    JetBrains Publishing a Project on GitHub
  2. Twig your calculator:
    Make a copy of your PHP calculator project.
    Refactor you PHP calculator to use Twig | Solution
  3. Make another copy of your twigged PHP calculator project.
    Refactor your Twig calculator to consume the SOAP calculator SOAP you made in an exercise long time ago.
    No need to refactor the Twig, only the PHP.
46 13.11 - 17.11
  • PHP, consuming web services
  1. Read and do: Enabling SoapClient with PHP 7
  2. PHP consuming SOAP, Football | Solution
  3. PHP consuming REST: Consume one of your REST services like School
    or http://api.evang.dk/ | Solution: school
  4. Extra: PHP frameworks (others than Twig)
47-50

20.11 - 15.12

  • Start Wednesday: Interdisciplinary project
    This project is one of the mandatory study activities mentioned in the curriculum section 14.3.
 
51

18.12 - 20.12

  • Mock exam PROG+TEK
    This mock exam is one of the mandatory study activities mentioned in the curriculum section 14.3
    • 3o Monday
    • 3b Tuesday
  • Wednesday: project presentations
  • Things you did not read or have to read again.
    Start from the bottom (not the beginning): First you study the subjects you don't know anything about.
  • Preparation for the 3rd semester exam
  • Exercises that you did not do.
52

 

  • Christmas + New Year
  • Things you did not read or have to read again.
  • Exercises that you did not do.
1

05.01

  • Friday: Q&A
  • Now that you have read the curriculum and done the exercises ...
  • This is the last chance to ask questions if there is something you didn't understand.
  • You ask. I try to answer.
 
2-3  
  • PROG+TEK exam
  • 3b, Monday-Thursday, January 8-11
  • 3o, Friday-Tuesday, Jaunary 12-16

   
4  
  • SYM exams
   
5  
  • Re-exam
   
5  
  • 4th semester starts