- Richard Feynman -
Main Page
All material on this wiki is copyrighted by the respective authors. Some of the material is often used by students at universities. Some of the material is also used as formal course material at actual schools.
Want to use our material?
Expand using link to the right to see the generous terms for using our material (we use a free license).
All texts on this wiki are published with a Creative Commons BY-NC-SA license. This means that you can use this wiki as is, or copy and modify the texts for non-commercial purposes as long as you comply with the license terms. If you include material from this wiki in your own materials for teaching, that is OK as long as you comply with the license terms. Failing to comply with the license terms invalidates the license and means that you are violating our copyright.
The Creative Commons suite of licenses were made to make sharing and re-use easy. The only thing you have to do is to follow the license and clearly state (and link) the source of the material and apply the same license as we are using on your derivatives.
Commercial use is not permitted as per the license terms.
For use of the source code from our Github repos, see the licenses in the repos to see what terms apply. For use of our videos, see their respective licenses (CC BY-NC-ND).
Our slides are not licensed at present. Contact us if you want to purchase a license for using the slides.
Books (more or less complete)
Introduction_to_IT_and_computing
Introduces IT, computers, computing
Sample topics:
- Computers and hardware
- Digital representation - how binary works
- Introduction to programming and software - a peek at what programming is
- Working in the shell - An introduction to Bash and working in the terminal
- Networks and protocols - How computers communicate over networks, and what they say to each other
- Network command and tools - commands and tools for computer networking and communication
- Using text editors - What is plain text, and how do we edit plain text files?
- Introduction to Bash scripting - How to write small scripts to solve various tasks
- HTML - The very basics of writing web pages in HTML
- Privacy on the web - What to think about with regards to your personal data and privacy
Programming with Java
Learn how to program with Java.
Sample topics (subject to extension):
- Computer introduction
- Programming introduction
- Setting up your environment
- Programming in Java
- Our first Java program
- Variables and types
- Expressions and operators
- Control flow
- Objects in Java
- Classes
- Inheritance
- Interfaces
- Exceptions
This book is used in courses at the university as well as in higher vocational education (Yrkeshögskola).
More programming with Java
Learn more about how to program with Java
Sample topics:
- Java_standard_API
- Java_Language
- Design_patterns_in_Java
- Database_and_JDBC_related
- GUI_programming_in_Java
- Miscellaneous
- Java_tools_etc
Programming with C
Learn how to program with C.
Sample topics:
- Programming in C
- Functions
- Error_handling_in_C
- C_Pointers
- C Dynamic memory
- C libraries
- C memory tools
Android - the practical way
Learn how to develop programs for Android.
Introduction to Databases
Learn the basics of databases, SQL and SQLite
Bash
Learn how to use the bash shell in a command line environment (a terminal running bash) and the basics on writing scrips in bash
- Introduction to the bash shell and bash script programming
- Bash programming - more about bash and how to write scripts and use advanced features
Introduction to web
Web_basics
Basic web skills taught here!
Java_Web_programming
Programming with Servlets and stuff taught here!
Future books/Books in progress
- Work in progress
- Programming introduction (or Computer introduction)
- This books introduces you to programming with the aim of preparing you for learning how to program in various languages. If you ever wondered what programming is, we hope and believe this is the book for you.
Miscellaneous lectures not yet in a book
Programming Courses
Links here go to proposed schedules for using one or more of the books as course literature
- Jamiya - An introduction to programming using Java (Part of the Jamyia project)
- TIG015 - An introduction to programming using Java (University course)
- TIG058 - Programming and databases (University course)
- TIG167 - Programming with Android (University course)
- YRGO Designmönster (Yrkeshögskola)
- Programmering för testare (ITHS) (Yrkeshögskola)
- Klientprogrammering och systemintegration (YRGO) (Yrkeshögskola)
- Databaser 15p Webbutvecklare (YRGO) (Yrkeshögskola)
We also do customized courses and shorter one-off lectures.
Software Development
Programming Languages
Editor and IDEs
Tools
Computer and programming terms
We have a collection of terms explained on our Terms category page.
Student/Reader FAQ
About this wiki
Basic details
Video lectures
Our material is based around video lectures and exercises. We publish the videos openly on Vimeo.
Source code
Our books and courses come with a lot of source code and examples. We publish the source code openly on github.