Thursday, January 12, 2012

Java course IAG0040 in Tallinn Technical University

Now is the time to make an official announcement: I am no longer teaching Java to Master's students in Tallinn Technical University (TTÜ).

I have really enjoyed doing it during the past 6 years, and I definitely learned a lot during this time.
Teaching in a university is not something you would do for money and it also eats up a lot of your spare time - I did it because I know I am good at it and I wanted to share my knowledge and experience in the field, especially considering the fact that most university professors/lecturers have little understanding of how software development really works and how to teach it. I did it for those students each year who really had their eyes shining. Because of them, it was worth it.

However, Java is no longer the coolest programming language out there, it slowly dies due to lack of or very slow development. Its features are outdated, it is not as productive as I would like it to be. It's time to move on. Probably Java still is one of the best programming languages to teach in the universities, but students should understand that world software development field is evolving quickly and they need to keep an eye of what is happening in the industry.

I am still a big fan of JVM - it is well tuned for performance and it is cross-platform. .NET/C# is not nearly an option. I really like Scala, Clojure seems very interesting, as well as Vala, Go and Dart. Kotlin seems very promising as well. Sooner or later there will be another popular language on JVM that most Java developers will be able to shift to. Hopefully there won't be too many of such languages and hopefully they will be statically typed. I recommend every Java developer to check the Play framework for a fresh look at Java. Anyway, the current trend in software development is to merge academic computer science and industrial programming together again - you should pay a lot more attention to functional programming in addition to the good old object oriented programming (OOP) now. The concept of DevOps is also becoming more and more important, meaning that soon you will not be able to survive as a developer, if you don't know how to create a software product from scratch until the end, deploying it yourself to the production system.

However, I am not going to leave the teaching 'business'. I will still give talks at conferences, organize trainings, and hopefully contribute to making IT education better with Codeborne Academia, but more on that later. I am still open to offers from universities and colleges as well, feel free to contact me.

Now the important part

All the code written during the course by me and the students during the past 6 years is now available on the Github:

The lastest (2011) lecture slides are available on Slideshare:

Or go to specific lectures using the links below:

  1. Introduction
  2. Java basics, program flow
  3. OOP in Java
  4. Exceptions and Collections
  5. Generics, Enums, Assertions
  6. Unit testing and Agile software development
  7. Text processing, Charsets & Encodings
  8. I/O, Files, Streams
  9. Networking, Reflection
  10. Threads and Concurrency
  11. Design Patterns
  12. Web, Servlets, XML
  13. JDBC, Logging
  14. Java Beans, Applets, GUI
  15. Advacned: Ant, Scripting, Spring & Hibernate


Unknown said...

Do you plan any functional programming course?

When you just start learning computer programming, it's no big difference between widely popular imperative style and more academic but nowadays growing in popularity because of multi-processor hardware functional programming style. But later when you already have adopted way of imperative thinking, you can struggle understanding functional programming concept.

Isn't university a good place to teach functional programming?

I offer my voluntary help in preparing lecture materials and practical sessions. That way I can share my knowledge and learn something new as well.

Unknown said...

That may be a very good idea for TTÜ.

In most universities, however, functional programming is part of the curriculum - it is an important topic in Computer Science.

In the past couple of decades it wasn't widely used in the industry, but nowadays we can see and interesting merge between academia and practical usage :-)

Anonymous said...

Hi Anton,

I found my photos on your website.
I mean on the link.

I like sharing and I'm very happy about your interest on my photos!
Just I kindly ask you why you did it?
I'm curious.


Anonymous said...

Good day very cool website!! Man .. Excellent .
. Superb .. I'll bookmark your website and take the feeds additionally? I am glad to seek out a lot of useful information here in the publish, we'd like develop
more strategies in this regard, thanks for sharing.
. . . . .

Visit my web site; small start up business ideas

Anonymous said...

Does your website have a contact page? I'm having a tough time locating it but, I'd
like to send you an email. I've got some recommendations for your blog you might be interested in hearing. Either way, great site and I look forward to seeing it develop over time.

My blog post - private krankenversicherung direkt

Anonymous said...

It's remarkable to pay a quick visit this website and reading the views of all friends concerning this post, while I am also eager of getting knowledge.

my webpage - high profit business ideas

Anonymous said...

Wow that was unusual. I just wrote an extremely long comment but after I clicked
submit my comment didn't show up. Grrrr... well I'm not writing all that over again.
Anyway, just wanted to say great blog!

Feel free to visit my weblog fashion outlet online

Anonymous said...

Hi there! This is kind of off topic but I need some guidance from an established blog.
Is it difficult to set up your own blog? I'm not very techincal but I can figure things out pretty quick. I'm thinking about making my own
but I'm not sure where to start. Do you have any ideas or suggestions? Thanks

Look into my blog home jobs for mom

Anonymous said...

Superb, what a webpage it is! This weblog provides helpful data
to us, keep it up.

My page private krankenkasse beitragsbemessungsgrenze

Anonymous said...

This post provides clear idea designed for the new people of blogging, that truly
how to do running a blog.

Here is my weblog ... private consolidation loans

Anonymous said...

It's difficult to find well-informed people in this particular subject, however, you sound like you know what you're talking about!

Feel free to surf to my weblog :: starting your own business at home

Anonymous said...

For the reason that the admin of this website is working, no hesitation very shortly it will be well-known,
due to its feature contents.

Also visit my blog post - make commissions online

Anonymous said...

I do trust all of the ideas you've presented on your post. They are really convincing and will certainly work. Still, the posts are very brief for novices. May just you please extend them a bit from subsequent time? Thank you for the post.

My web page :: marken outlet online

Anonymous said...

Hi there, I enjoy reading through your article post.
I wanted to write a little comment to support you.

Also visit my site - crazy entrepreneur ideas

Anonymous said...

This design is steller! You certainly know how to keep
a reader amused. Between your wit and your videos, I was almost moved to start my own blog (well, almost.
..HaHa!) Wonderful job. I really enjoyed what you had to
say, and more than that, how you presented it. Too cool!

Here is my blog post Gesetzliche krankenversicherung private Krankenversicherung

Anonymous said...

Just as the name implies, these uggs are from Australia, which can be crafted from twin-tier merino wool.
And recollection, they might eventually be willful Worn tedium without
situation, so the graduate can perform their job. Regardless of the your
first choice is, UGG Classic Short you will find in the UGG boot.

my weblog - コーチ バッグ

Anonymous said...

Appreciating the hard work you put into your website and detailed information
you provide. It's awesome to come across a blog every once in a while that isn't the
same outdated rehashed information. Excellent read! I've saved your site and I'm including your RSS feeds to
my Google account.

my homepage ... click the next internet site

Anonymous said...

An impressive share! I have just forwarded this onto a coworker who had been doing a little homework
on this. And he actually ordered me dinner due to the fact
that I stumbled upon it for him... lol. So allow me to
reword this.... Thank YOU for the meal!! But yeah, thanks for spending some
time to talk about this topic here on your internet site.

Here is my blog ... loans education