1. The techniques gained from working with industry professionals
2. Learning several programming languages
3. Access to free software via msdn
1. The software provided through the MSDN program is something that I am really thankful for. I was able to upgrade both my laptop and desktop to windows 7, which has done wonders. There's also a treasure trove of other IDEs and whatnot that you can experiment with as well.
2. There's always emails coming from Gerald about internships, job positions and whatnot. I feel that it's really helpful to aspiring ICS students that want to get some real-life experience before deciding that this is the thing they want to do as a career.
One of the major things that I think all students appreciate is the access to MSDNAA and all the software they need to work on software. Another useful thing is that a lot of the teachers will say textbooks are optional and use free resources instead, which allows students to save their back and some money. Finally, the wide variety of content available to learn is quite useful because students can figure out which fields they want to further go in to.
1. Small department
This could probably be seen as a negative or a positive. I've chosen to look at it in a positive light. With a small department, it is easier to get to know your peers and professors.
2. Professors come from a wide range of backgrounds
There are professors who specialize in many different areas including human-computer interaction, artificial intelligence, networking, high-performance computing, medical informatics, databases, and many other areas. This makes it easier for a student to find a professor that specializes in an area that the student is interested in.
3. Coursework is challenging
I've found that even the introductory ICS classes are sometimes more difficult than upper level courses from other departments. (Although, I will admit that I haven't taken a lot of courses from other departments.) Of course, some students may see this as a negative. However, I think it is good to be challenged because it is important that we are actually learning the material and not just trying to pass the class.
1. The breadth of courses available (especially at the elective level) in the ICS department allows students to learn about many different aspects of computer science ranging from security to cognitive science. This diversity allows students to tailor their upper level coursework towards their interests and can help them find their interests by letting them dabble in various areas.
2. Helpful faculty. From my experiences so far, all of the professors have been friendly and very willing to help students both with understanding the coursework and projects (course projects, independent projects, etc). I have not met a single ICS professor yet who did not seem excited to help students.
3. Teaches practical skills. While perhaps more of a general ICS thing, learning how to program is very practical and can be applied to many different problems and situations. I would think that only few other majors can applied to everyday problems as easily as ICS can.
4. Relatively small department. While there are a lot of undergraduates, there are much fewer graduate students. Classes feel so much more enjoyable when you see the same people all of the time.
5. It's fun! I personally love programming and being an ICS student gives me opportunities to hone this craft.
I love the weekly graduate lunch. It gives me a chance to meet other graduate students that I would not normally get to know. At the same time it provides a chance to get to know the faculty outside of the classroom. I know that not everyone can make it to them but I wish more people took advantage of this opportunity.
The faculty in the ICS is very approachable and friendly. I think they also are receptive to new ideas and are genuinely concerned about their students. They are also extremely knowledgeable in their area and are willing to share their insights.
Students in the ICS department are good natured and easy to work with as well. While this may seem trivial other computer science programs have many issues with egos and lack of teamwork. I have found the group work at University of Hawaii a pleasure by comparison. The students respect each other and try to include everyone in discussions and decisions.
1) I really like that almost all the ICS classes occur after 12:00pm or are online. Some may like it since they can sleep in a bit more or have weird sleeping schedules, but I like it since it gives ample time to get my mind set for a class I am taking.
2) The Dreamspark MDSNAA software program is available for ICS students. Although it is only Microsoft since Apple doesn't have something similar.
3) Professors are very supportive, friendly, and knowledgeable with questions when it comes to a field they study. I have had some interesting discussions in the past that will help me in whatever career path I take.
1. Gerald Lau is a great resource for ICS students to reach out too. He does a lot for the students (send internship emails, job opportunities, and class availability updates). I've visited him plenty of times over the years for advice on career goals and ICS related issues.
2. Asynchronous classes taught though outreach is a great solution for students that are not able to attend a class if it does not fit into their schedule. The only drawback to this is that it does get expensive since it is taught through outreach.
3. Relevant courses, after taking your fundamental basic programming courses the upper level classes offered are relevant to student's current interests. For example android programming/mobile development, high performance computing, etc..
1. Breadth of course work offered. Definitely, the ICS field is a mixture of both pragmatic and theoretical work so its reach into other interdisciplinary studies makes it a practical field of study. I believe that this program takes advantage of this strength.
2. Solid course work foundation. From the algorithms to software engineering, a good foundation in the basics add values to the ICS degrees.
3. Faculty are knowledgeable leaders in their areas of research. According to the UH website, the professors are able to secure $3-4 million in extramural funds.
1. Access to the MSDNAA software from Microsoft. Free software for ICS students which provide a wide range of tools from IDEs to Microsoft OS.
2. The ICS 491 and 691 classes which offer a wide variety of different topics about computer science each semester.
3. Friendly environment in the ICS community. It is not hard to approach any faculty in the department. I had worked with a couple of professors and both of them were excited to work along side with me. They taught me a lot about programming and had pushed to work a little harder which is what every ICS student should expect to do.