1. Increase the options of class sections or earlier class times. Some classes are only held at night and can be inconvenient for some students. For me, I was not used to taking classes that ended at 8pm and it's the only program I've heard of where most students had to go through it.
2. Include more writing intensive credits to ICS classes. It will help minimize the amount of time spent on other classes to complete a graduation requirement and allows more focus on the ICS curriculum.
3. Be informed early on about spec requirements on laptops (freshman year). Not all students walk into the upper divison classes with the specs required for those classes, especially with MacBooks starting at 8GB of RAM. If we are informed more ahead of time, then we can prepare and buy laptops that will last all four years.
1. ICS does not have that many focus courses such as Oral Communication, Writing Intensive, etc. It makes it hard to meet the graduation requirements.
2. Class Times. There are a lot of really late classes and for someone who commutes, it messes with their schedule.
1. I agree that it's a little expensive to obtain a developer-level laptop - a little farfetched, but if possible, would be great if there were loaner laptops that we could use.
2. (Sometimes feeling unprepared for an ICS course) I really liked that there was a pregame module for ICS 314, I would love it if there were optional modules to do over summer/winter break to prepare you for your next ICS course.
3. (Having to practice/learn programming languages on your own) Maybe having optional coding groups that focus on a particular language throughout the semester/break (something like PyHawaii).
1: Limited number of teachers.
2: Time sink.
3: Overly broad.
1. There are a limited number of tracks that UH students can take as ICS majors (however, they are improving since the cyber security track, and data scientist track are now options for students)
2. A lower emphasis on math courses that would be useful for ICS students (such as linear algebra)
3. Students are required to take classes that don't have a clear connection to our goals in the future (such as required Chemistry and Physics for Bachelors of Science Majors)
1. I understand that being able to create opportunities for yourself is an important thing to learn, but having a required elective to be able to work/co-op would do wonders. In this way, we are not just bolstering our resumes, but gaining insight on what industry we want to go to.
2. Something College of Engineering has is a sophomore, junior and senior project. If something like this was incorporated into ICS, it would instill a work ethic that no class could teach because it spans the majority of a students academic life.
3. I can't speak much about the workload of other majors, but programming is notorious for being hard. Not just hard conceptually, but also application and implementation could take hours.
1. Developer-level laptops are expensive even though I planned to buy one long before I knew it was a hardware requirement for this class.
2. It takes a lot of time to get things done the right way.
3. There aren't a lot of ICS tracks. I personally would like to get into robotics and game development, but it's a bit limited so I have to aim for a more broader track.
1) Computer Engineering students don't get exposed to as many software classes/ICS courses, even though software is still important to our learning
2) More collaboration with the Computer Engineering majors
3) Emphasis on social networking between the College of Engineering because programmers are much needed there as well
1. Several introductory ICS classes require a "B or higher" to advance. Although I understand the reasoning, it adds another level of stress to the courses.
2. There is a lack of focused security classes such as exploit development, malware reverse engineering, secure software engineering, offensive security, etc.
3. I feel like a lot of courses can be moved to online to avoid conflicts with other required classes such as focus classes, physics, chemistry, calculus, etc.
1. Being an ICS student means that we need to spend much more time in study. For students who have to work, the assignments are a little overwhelming.
2. There are too many tasks to be done outside of class. When I was in KCC, most important content was taught in class. It takes time to get used to this change.
3. The instructions are not as clear as before. The deadline for an assignment is specific; however, the starting time is not always clear. We have to go ahead and read all the instructions and decide which assignment we should start to work on first.
1. There is a lot of instances of "Whattt just happened?" because a lot of things that are taught in ICS takes time to sink in.
2. You are consistently carrying an extra 5 to 7 lbs with you because you are pretty much always carrying a laptop with you in school since you either have ICS classes or homework.
3. You have to learn so many different programming languages that it's easy to sometime get them mixed up, like coding in Java when you are in C#.
1. Implement more presentation-based team work into the curriculum to produce not only better programmers, but also better communicators.
2. Connection of information. I hear, and now see via this discussion, that many ICS majors may overlook the importance of BS requirement classes. If more relevance can be established throughout courses, students may feel more of a connection to non-ICS classes and get first-hand experience of just how applicable computer science is to nearly all fields. For instance, building on concepts learned in physics classes for an ICS final project.
Note: I am not an ICS major. These are my views on the UH ICS program from an outside perspective.
3. From my side, it would be easier if my equivalent EE classes on STAR would automatically fulfill the proper requirements for ICS classes. I feel bad for always bothering Gerald with override requests. However, I understand that this may be done to preserve the integrity of the registration system and prioritize actual ICS majors.