#TU/e Software Science Awesome List

I have currently finished my first year at Technical University of Eindhoven for Computer Science and I always wanted to have some kind of resource collection for all of the courses that one can do in the course of this bachelor. Notes, comments, guides and anything else that can save me and other people time so to spend less time studying and more time building and using the things you’ve learned. In the spirit of awesome lists and awesome courses, here is one ever more awesome for all the Software and Web Science students of TU/e.

##Adding Content I have added my own notes, and thoughts on the subjects done but I am very open to other people’s input. If you have anything you want to share relevant to the subject, just fork this repository and add your own links where appropriate, then do a pull request. I am open to any changes and feedback.

#Hackathons Hackathons are a really awesome way to put what you know into practice and create something great in a very short time. Unlike UK and US, hackathons are not such a common occureence in Netherlands unforunately but that is sure to change soon. :)

There are quite a few hackathons happening around Europe like Junction or OxfordHack. Here is a calendar of all the european hackathons that is very commonly updated. I suggest all students to apply to some and try yourself out, or help organise one yourself. There is also a hackathon happening here in Eindhoven, hope to see you then.

##First Year ###First Quartile ####Logic [2IT60] #####Description An interesting subject with one of the better professors of TU/e, Bas Luttik. The entire course essentially covers this book. I didn’t quite like the book but it does a good job of getting you to pass the exam. I also put some reccomendations in the end of what you can read to better understand what logic is and how relevant it is to computer science. The learning of the course is seperated to weekly lectures and a sesion where you can overview the results of your weekly assignment as well as an organised weekly office hour session to which I really advise you to go to (I learned quite a lot by asking questions, do however try to ask questions that were indeed quite challenging to you. I suggest you to do well on the assigments as they serve as great preperation for the final exam and if you do not do well on them, you might need to get a much higher grade on the exam to pass the course.)

#####Resources - book : Logical Reasoning : A First Course
- you probably have to buy it as I could not find a PDF of it - get it from the student association for a lower price or find a friend from second year who no longer needs the book

#####Further Reading - how to prove it - a really great book on making the transition from solving problems to proving theorems, I struggled with induction for a long time, this helped me - videos series

####Programming [2IP90] #####Description An introductory course to programming in Java. The course is focused on teaching you the basics of programming, what classes, methods are as well as inheritance and how to work with graphical interfaces to show results in a GUI panel. There were weekly assignments that you had to complete, one of them is making an implementation of a solar system which was quite fun but challenging. You can submit your assignments in Peach and you can submit them in pairs. For people that already have some experience with programming, there were extra assignments that one can do that were much harder than normal and if done well can allow you to not sit the final exam. It was quite a fun course although, you do have to put in the time outside to learn how to achieve the things that you want in java. Fortunately there are a ton of resources online for just that. Also since the exam is done with your laptop and you complete exercises offline, what I did is download the Java docset on my laptop as well as a multitude of other resources that I might need and all the solutions from the exercises and then just have that as reference available for me in the exam. #####Resources - Java MOOC - a really nicely made course for teaching Java

#####Further Reading - Java: The Complete Reference - a great reference book - awesome java - java is huge, there is a library for anything that you want to do already waiting to be used - I suggest finding something you want to build and try build it - here are some projects to get you started - there is also google summer of code happening each summer - choose an open source project you like and contribute to it over the summer under the guidance of a mentor

####Calculus [2WAB0] #####Description An introductory course on calculus that teaches you the basics of calculus like limits and differentiation. There are weekly lectures that are really badly done, the lecturer just goes over some of the exercises and very quickly tries to give an explanation of how and what to do. It will be a much better use of your time I believe to just do all the weekly exercises that will be posted online and get help from the internet from either PatrickJMT or Khan Academy. There are also weekly meetings that one should visit where you can work through some of the exercises with the tutor, you can come in with any questions that you could not work out on your own to get the best return out of these meetings. #####Resources - Khan Academy - do math, get points, get cool avatars and themes

###Second Quartile ####Applied Physics [3NAB0] #####Description A rather broad overview of various fields in physics. The book is really great and has a lot of amazing material and exercises that one can complete. There are weekly online tests with questions that you will need to do. There were also weekly sessions where one could work and ask questions on the exercises that were set out as homework. The tutors were really helpful and it was very nice to get explanations first hand about anything that puzzled you about the exercises. It was an interesting course with a lot of self learning to be done if you have never done physics before in high school. #####Resources - Khan Academy - do physics, get points, get cool avatars and themes

####Computer Systems [2IC30] #####Description A course that teaches you what a computer is at a very low level. There are weekly lecturs and a weekly session where you work on the assigned tasks that you need to complete with your partner. In the assignments, you will use the knowledge of OR, AND, NOR and other gates to make the necessary logic to make whatever is tasked for you. After the first few assignments, you will need to write your own assembly code for the PP2 processor provided by the university. I found this a rather challenging task but the instruction set of the PP2 processor is quite short, you just need to get accustomed to how you can use it. Understanding how computers work and what they do fundamentally is really essential for understanding and is immensely interesting. #####Resources - Code : Hidden Language of Software - a really remarkable book gives a big prespective of what is code and what a computer actually is - build a computer from ground up - how computers work

####Fundamentals of Informatics [2IS80] #####Description A really fun and interesting subject that serves as a high level overview of various fields and topics of Computer Science. The course essentially covers this book which is written by the same author who wrote Introduction to Algorithms. I think it is a nice precursor for the book although some parts do get quite detailed with explanations and were hard to follow. Overall the subject is presented through a series of weekly assignments and a final exam in the end. The exam follows a very predictable format so if one understands and learns how to answer past exam questions, it won’t be difficult to complete the final one. #####Resources - my notes and files : my assignments, exams and exercises

###Third Quartile ####DBL Embedded Systems [2I070] #####Description A project based course where the task is to make a complete and working machine that sorts white and black disks into their respective trays.

####Introduction to Modelling [0LEB0] #####Description A really unremarkable subject that all students have to take. Fortunately all the lectures are online and can be viewed with faster playback speed. If you do intend to watch all the lectures, I advise to do it this way. The course is seperated into an exam and a modelling report that you have to complete with your group. The modelling report is a big waste of time and is quite confusing however one can look at the previous reports done by other groups to get a clearer idea on what needs to be included. The exam is seperated into the theory and the math part. For the math part, it is advised to do all the online weekly questions and practice through the past paper exams. For theory, one can watch through the lectures with fast playback and take notes of the slides and take use of the summaries that were done by other kind people who completed the course.

####Data Structures [2IL50] #####Description Probably the best and the hardest course of the first year for Software Science. Data structures are important, as Linus himself said “Good programmers worry about data structures and their relationships.”. The course is taught by Bettina Speckmann and is supplemented by really useful weekly sessions where one could ask questions about the weekly assignments that one needs to do. Speaking of assignments, they are important. In fact if you do not get an average grade of 5 between the best 5 of them, you are not addmitted to the exam. It very well advised to typeset the assignments in LaTeX so it is best to get accustomed to it beforehand. Assignments take quite a lot of time and are best done with help of one’s classmates. #####Resources

###Fourth Quartile ###Automata and Process Theory [2IT70] #####Description This a theoretical course that teaches you about what regular languages, finite automata, context free languages, PDAs and turing machines are. The course mostly covers the material that you find in the slides and the lecture notes provided by the professor. Various notation symbols and proofs can be quite difficult at first to decipher but if you get an intuitive understanding of how the proof is done, it will be much easier. The lecturer has a very nice tendency to give exams that are very similar to what you get in the prior examplary exams so pay attention to those if you want a high grade. #####Resources - Theory of Computation - best book you can read on the subject

###Human Technology Interaction [2ID40] : elective ####Description This course teaches you what it means to have an understanding of a user who will be using the technology and products that you will create. All of its lectures are online so you can watch them at any time you want. The course was seperated into three parts : 1. evaluation assignment (where you are given a website to observe and give commentary on it on the basis of what you learned in web lectures 2. design assignment (where you design an interface visually, you don’t have to implement it but do have to make some kind of interaction, you can even make it in powerpoint with clickable elements that lead to new layouts) 3. thermostat application (create a web or android application that fits certain criteria provided by the course, all the server connections are implemented for you, you just need to make the right calls to both retrieve and send data to the server) ####Resources

###Ethics ####Description This is a course that is part of the various USE base courses that all students have to complete. USE stands for [U]ser [S]ociety [E]nterprise. In the course, you complete a wiki with a group about whatever theme that you’ve been assigned to do. The subject is split into two parts, one ethics and one history. Ethics part was taught from a very badly written book, fortunately there are really great summaries that do manage to fit in all the important bits and pieces for one to learn. ####Resources - Philosophy: Immanuel Kant - youtube video

##Second Year ###First Quartile ####Discrete Structuress #####Description #####Resources

####Social Robots #####Description #####Resources

#####Engineering Design #####Description #####Resources

Related Repositories


Top Contributors

nikitavoloboev