1. I think there should be more opportunities for ICS students to talk to other ICS students - undergraduates and graduates
2. Java is the language used in most of the courses. We have a few other such as C and C++, but I think that using a wider variety of languages will bring students to a higher level technically.
3. I wish there were more courses that could meet other requirements such as WI, OC, and ETH.
1) If there were individual paths for CS instead of everything combined into a general subject, with a few classes for a specialization, students could gut out all the excess learning they would never use. It would lead to more in depth knowledge on narrower areas and better internship experience because the overall skill level will be higher.
2) Classes are too fragmented. To get a degree you have to go through XXA,XXB...XXZ classes, but every single class teaches different languages as a foundation. Additionally, the classes don't simulate a real environment until the upper classes. You generally know what classes teach but they fail to convey the importance of the topic because of the classes being so unimpactful.
3) Lack of clear class path. A student might want to change his schedule within the bounds of the degree class requirements, but what they learn is based on their own opinion. Certain classes might help more with specialization, but not knowing the paths gives students classes useless to their actual profession. I suggest refining career paths a bit more.
1. So far the 100 and 200 level courses have felt too easy
2. Being required by some teachers to show up to lab
3. Little to no teaching on the process of programming (ex:how to go logically break down problems and then create pseudocode then turn into code, debugging )
1. Programming can take up a lot of time so you have to manage your time really well.
2. Not a lot of time slots available for classes.
3. Materials needed can be expensive.
1. I think that in many (but not necessarily all) of the "flipped classroom" formats, it can be difficult to learn because it is hard to ask questions when they arise.
2. I am not entirely sure how I would change it myself, but sometimes I feel as if the progression of courses could be improved in the computer science degree path. I have found that some of what I have learned in my more recent classes would have been fundamentally helpful in the more introductory courses.
3. I think consistency could also be improved upon in the UH ICS program. For example, I feel like the software that we are required to acquire could be kept more consistent across courses. I understand that there would be exceptions though for specific electives.
I am a Computer Engineer, and here is 1 bad thing about being in the department:
1. CENG is limited with a small amount of technical electives.
1. Learning and getting help with ICS related problems can be overwhelming when first learning, so forcing students to work in groups early on and helping them gain other peers they feel comfortable talking to.
2. Offer more classes at a lower level so students can explore the different areas of ICS early on and pinpoint what they want to work with.
3. Flipped classrooms can be hard to grasp new concepts since it's not very common with lower level classes. So maybe create an easier transition or create different ways to effectively teach the basics of coding through online methods.
The three ways that I think the UH ICS program could improve are:
The things I am talking about have already been mentioned but here is my list
1. A lot of the classes are extremely time consuming, that is to be expected because computer science just takes time to learn.
2. there should be a working lab or lounge for ics students like other departments have that is open nearly 24 hours.
3. It would be great if the ics department required an internship course to graduate, that way it would help everyone establish some experience in the real job world and thus be more likely to land a good job after graduation.
1. I think that proofs start to become more important in later courses such as 311, but in previous courses, where my professor said we were supposed to learn them, we just briefly went over them, so I had to spend a lot of time learning how to do them.
2. Some classes are just not available for a semester and if they are, then can have late time slots.
3. The flipped classroom wasn't common in lower level courses and was sort of difficult to adjust to as they started to become more prevalent.
1. The required graduation path includes too many classes that are out of scope for an ICS student.
2. No real common work space area for only ICS students.