Skip to content
View anttijuu's full-sized avatar
🏠
Working from home
🏠
Working from home

Block or report anttijuu

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
anttijuu/README.md

About me

Hi there! My name is Antti Juustila. Currently, I work as a Lecturer teaching various aspects of programming and software design:

  • Programming 101 with C language, acting as an assistant teacher
  • Computing Devices and Data Networks 101, acting as a responsible teacher
  • Data Structures and Algorithms (Java), an advanced programming course acting as a responsible teacher
  • GUI design and programming, an advanced programming course acting as an assisting teacher
  • Bachelor level software project supervisor, supervising five student projects in Spring term 2024.

I work at the University of Oulu, Finland in the Study Program of Information Processing Science. My research unit INTERACT focuses on understanding and supporting participatory design, user-centered design, value co-creation, user driven innovation and human interaction in IT (information technology based services in divergent everyday life contexts.

I have a long history in teaching but also in software development. I began my career during studying and after graduating in implementing a family of applications for sports halls in C++ on Windows. That product was later sold to another company. After that, my career turned towards two directions:

  • In a company i cofounded, I did mainly training courses for programming professionals, including 2-4 day courses on basic, intermediary and advanced C++ programming (e.g. Design patterns with C++), licensed Symbian OS development courses (while it lasted...) and courses on Java programming as well as software design and UML. Some years ago I left this part of the career behind me.
  • academic career at the University of Oulu, in various teaching positions and also in nationally and EU funded research projects. Here I was mainly responsible for and participating in developing different technological tools and infrastructures for the projects.

Software development has remained an important part of my academing career. I love creating things, whether they are analog and visual or digital and intangible.

Below you can find some of the software things I have lately worked with. Mostly these are either Swift/SwiftUI or C++ projects, but many are also Java projects since Java is the selected language in many courses in our study program.

  • SortSpectacle is a Swift/SwiftUI demo app I implemented for the course on Data Structures and Algorithms. Course itself is in Java, but I wanted to provide examples of different sorting algorihtms visualized for the students. Another goal was to brush up my basic skills in the area when I got this course i am now responsible for.
  • TIRA-2024 at GitLab is the starting point students start their journey through basics of data structures and algorithms in Java during the study year 2024. Students clone this repository and then start implementing the required exercises in generic programming techiques. Exercises include implementing algorithms like insertion sort, linear search, binary search and sorting arrays with fast sorting algorithms. Students also implement basic data structures like stack, queue and linkedlist, and more advanced stuctures like a hash table and a binary search tree with associated algorithms. In optional tasks, they can apply their own data structures to more advanced task and/or use the standard Java algorithms/data structures to do the same and compare how their own implementations do agains the Java ones.
  • SwiftChatClient is a demo implemented in Swift/SwiftUI. The chat client connects to a chat server students were implementing in a course on server programming I taught some years ago. I also implemented a sample server solution using Java, HTTPS, JSON and SQLite (not a public repo, at least yet).
  • Graphs is a demo application implementing the graph data structure in C++ and some of the associated algorithms: breadth-first search depth-first search, Dijkstra's shortest path search algoritm and the Prim's algorithm for finding the minimum spanning three for an undirected graph. Again this is for the Data Structures and Algorithms course.
  • Tool for producing Moodle exam questions related to different numbering systems (binary, decimal, hexadecimal and octal) and simple arithmetic calculations using these. Having hundreds of students and many exams, I can easily create tens or hundreds of Moodle exam questions so that students would get unique questions asked, just for them. Tool produces an XML file one can upload to Moodle.
  • Books and Words is another demo application. This project contains several implementations of how to count unique words and their frequencies in text files. All implementations are done using Swift and execute from the command line. Each of the implementation is implemented in a different programming style. The styles here are (mostly) from the book Exercises in Programming Style by Cristina Videira.
  • Java chat client is not just a demonstration but also an app students could use in testing their own implementation of a chat server they were supposed to implement in a course on server programming. In addition to a simple text based UI, it includes JUnit tests the students can run to test their server implementation, depending on the stage they are in implementing the server. You can also find repositories for HTTP and TCP chat server implementations, used in server programming and GUI programming courses at our study program.

You can see other public projects by browsing my repositories here in GitHub.

If you have anything to ask or would like to connect, please email me at address found in my personal blog.

Popular repositories Loading

  1. PluginDllDemo PluginDllDemo Public

    A client/server (UDP) demonstration of a plugin dll library using Boost.DLL

    C++ 6 1

  2. TVTSanasto-Java TVTSanasto-Java Public

    Java version of the TVT Sanasto app

    Java 2 1

  3. LinnanmaaWeather LinnanmaaWeather Public

    Java 1

  4. Sarge Sarge Public

    Forked from MayaPosch/Sarge

    Simple command line argument parser.

    Ada

  5. lolhello lolhello Public

    LOL MI 1ST LOLCODE APP OMG RLY?!?!!

    LOLCODE

  6. swift-httpovertcp swift-httpovertcp Public

    Sample app making HTTP GET requests over TCP to HTTP servers

    Swift