[JAVA] If you want to study programming at university, go to Australia

Introduction

The title is designed to be completely eye-catching. I am currently studying computer science at Queensland University of Technology in Australia. The first semester of the second year is about to end. Midnight, which should be busy during the exam period. I started writing for some reason to escape from reality.

University: Queensland University of Technology Faculty: Bachelor of Information Technology Major: Computer Science

After studying for a year and a half, I am writing with the intention of summarizing my personal impressions. I don't know what universities in other countries like Japan are like, so I would like to introduce Australia with this stance.

Let's go right away.

Characteristics of Australian Universities

――A total of 3 years (depending on the faculty) --Semester system (2 semester system, February-June & July-November) ――One semester is 13 weeks + exam period (about 3 weeks) ――About 4 subjects are taken in the first semester ――Classes are about 16 hours a week (2 hours of lectures + 2 hours of tutorials per subject) ――The class is practical (at least in our IT department) --University advertising complaint? Is "The University for the Real World".

What is the class like?

1st year, 1st semester

Python A class to learn the basics of programming. For complete beginners. It was really easy. I enjoyed drawing with turtle. [Insert image]

** Mobile app design ** I learned the basics of design. The group actually came up with an idea for the app and even made a prototype.

** How the computer works ** Mainly studying hardware. I wonder what kind of parts the computer is made of and how it works. The report assignment was annoying. The second task was to make something using Raspberry Pi, which I enjoyed.

** Business and IT ** I learned examples of IT utilization in business. Advanced usage of Excel. I almost forgot.

1st year, 2nd semester

** Database ** I learned everything from database design to SQL operations. A class that was quite useful. It was especially good to study the design method. The database used was MySQL.

** C language and microprocessor ** I made a game that runs on a microprocessor in C language. It was a fucking game. It was an interesting lesson because I was able to touch areas that I had never touched before, such as memory operations, bit operations, and pixel-level collision detection control.

** C # and object oriented ** What is object-oriented programming? The support system was quite good and the class was relatively easy.

** Mathematics for Computers ** The class that I had the hardest time at that time because I was not good at math. It was painful to have to study calculus, vectors, matrices, and other things that I hadn't touched from scratch. But it was very helpful.

2nd year, 1st semester

** Java and software development ** Study Java and study the basics of software development. Agile, Git, TDD, etc. were introduced. In the assignment, I made a vector image painting application from scratch using Java Swing. It was my first time to think about designing from scratch, and although I had a hard time, it was a very good study and I enjoyed it quite a bit. MVC or observer pattern. 302.gif

** Web application development with Node.js and React ** The class I like the most. From front-end development to back-end development and deployment, I learned the essence of web application development. Plus, it was a great opportunity to study React and Node.js, which I had been interested in before. [Add image]

** Discrete mathematics ** It feels like a math class that is more necessary for computers. Bit operations, logical operations, Regex, etc. It's a little difficult.

Artificial intelligence I had a harder time than the math class in the previous semester. I was interested in AI, but I didn't touch it, so there were many new concepts and it seemed like I was punctured. I had a problem to make a search algorithm to solve the Sokoban puzzle, so I had a lot of trouble, but it was fun.

Summary

Overall, there are many really practical lessons and I am very satisfied. It's also good to have a three-year system. I want to graduate quickly and earn a lot of money. Overseas universities have high basic tuition fees, but my university is relatively cheap. I really recommend it. By the way, I have received a scholarship called JASSO's undergraduate degree acquisition type.

It's a rough cut, but for the time being, it looks like this. I will post the screenshots of the apps I made in the assignment, and eventually. We will continue to update it in the future. For the time being. If you have any questions, please comment.

Recommended Posts

If you want to study programming at university, go to Australia
[# 3 Java] Read this if you want to study Java! ~ Carefully selected ~
If you want to modify database columns etc.
If you want to separate Spring Boot + Thymeleaf processing
If you want to use Mockito with Kotlin, use mockito-kotlin
If you want to recreate the instance in cloud9
Java study site summary that you want to read carefully
[PostgreSQL] If you want to delete the Rails app, delete the database first!
If you want to include the parent class in Lombok's @builder
If you want to change the Java development environment from Eclipse
If you want to use Oracle JDK 11 from September (add Amazon Corretto)
If you want to dynamically embed values & add text to attribute values in Thymeleaf 3
If you want to make a zip file with Ruby, it's rubyzip.
[Swift] If you want to use a URL that includes Japanese, use addingPercentEncoding.
If you dare to compare Integer with "==" ...
It's good to go to a programming school.
I want to RSpec even at Jest!
Basic Rails commands you want to learn
What to do if you install Ubuntu
If you want to satisfy the test coverage of private methods in JUnit
If you are using Android Room and want to change the column definition