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.
1. The amount of information thrown at us at the intro-level courses can be overwhelming and feel as if we don't understand it now, we'll be in a constant uphill struggle later in the future. There's a lot to take in, and it can be stressful with the number of different languages that we have to learn and utilize.
2. Although there are a few options for class times, the time disparity on some of them can be painful for someone of they're not used to being as flexible as before in terms of spending time on campus, and on school. Classes can go into the night, and for some, that may be detrimental to their learning experience if they have better times focusing in the afternoon or morning.
3. The tech used can be costly for someone who has other obligations that they must also attend to. For example, the developer level laptop, although is an investment definitely worth doing, the cost can sometimes add up and have to be delayed, or delay something else that may be important. However, students do get access to many programs for little to no cost these days, so that does help alleviate the cost of everything.
Considering this is my first ICS course, I have all of 1 week of exposure so take everything with a bag of salt!
1. Spec requirements are fairly demanding, mainly the RAM. Offer some sort of support program to help mitigate, whether it be offering discounts on an approved models or, on laptops that allow, buy RAM sticks in bulk and install it at a discount. Alternatively, let us stream from a desktop to our laptop, where you could provide the desktop or allow us to use our own.
2. Restrictive development environment. You've restricted us to using the IDEA IDE, Meteor, and Semantic UI. I can guarantee that these are not the only applications that do the job. Maybe there's one that runs faster, or is less hardware hungry, or one we're more familiar and comfortable with.
3. WODs. Everyone has their own rhythm when it comes to working. For me, I know I work best at night, hence I will do most of my work (especially coding) during this time. I'll work faster, better, and smarter during this time, things needed to complete a WOD. Let us start them anytime, and give us the allotted time to complete them.
1. Maybe the language requirement. I am not very passionate about learning a new language; I find it to be boring and tedious work. Also I do not really find myself using it outside of class at all, hence it never really sticks. Instead, I wish I could choose something I am more interested in, like history, music (piano), or even some other kind of science. I think these could be appropriate substitutions. I guess if language was not required not many people would take it, thus the department could potentially fall apart... which is why it is probably a requirement.
2. Security-focused classes have a lot of pre-reqs, which slows down students wanting to reach those classes. For example, many security classes require courses like ICS 311 and ICS 222 (which are basically just math courses). I wish we could be exposed to security practices and software earlier without having to go through these extra hoops and whistles.
3. ICSpace can get really loud, which is why I prefer to go to the library.