Hawaiʻi's Technology Community

What are three ways that the UH ICS program could improve?

If you can think of more than three things, then please limit your response to your top three!

Views: 10408

Replies to This Discussion

This is my first ICS class, due to the engineering department not having an equivalent EE version of Software Engineering. What I would like to see, from a computer engineering student perspective, more ICS classes that Computer Engineers can branch out to. Most of the ICS classes offered are often already covered by EE equivalent courses, or require several ICS prerequisites, which computer engineers do not have. Yes, some classes can be entered with an override, but the other main difference between the ICS track and Engineering track is that we use different languages, Java vs C/C++. Concepts are indeed the same, but engineers would need to catch up/ learn java, on their own before being able to take the higher level ICS courses not offered within engineering like AI Programming.

My main issue is I don't want to have "duplicate courses" and would rather have more variety. I do understand that the computer engineering degree offered by UH is still relatively new, but towards the future, maybe more classes can be offered in replace of the duplicates. Example is Discrete Mathematics. ICS department offers two courses, ICS 141 and ICS 241. Engineers cover all of that in only one course, EE 362. 

1) I have no clue what I want to do and it is hard to decide what I want to focus on in the ICS program.

2) Everything is self-taught, and resources are recycled/reused from other campuses and professors. 

3) I feel like programming is a language in itself and there is no other language like it. So I don't understand why we're forced to take second language requirement when we are learning multiple programming languages as well as writing pages on pages of code. I found programming to be a language of computers, where we write/read instructions (programs)  that need proper syntax and requirements for the computer complete the given task.

1. Some of the lower division classes have large lectures. This can make it hard to get help from the professor, which is important when first learning to program.

2. There is limited class availability. I've noticed a lot of the classes only have a couple of sections a semester, and those sections fill up quickly making it hard to get the required classes.

3. There is a large work load. It can be frustrating, and time consuming to code and debug large projects for class. However, I do understand that this is a difficult field, and this is preparing us for a professional environment.

Being a computer engineering student I have had a slightly different experience but I'm sure we share many of the same thoughts.

1)The cost of textbooks in a technical field such as this has been a problem for myself and many others. However, free and open source resources are becoming more and more available allowing students to go elsewhere for information. It will be interesting to see if classes and curriculum may adjust to have less need for a "textbook" in the future.

2)There aren't many courses in the engineering department tailored to the computer engineers. It would be helpful to have more classes available within the college itself, but there are opportunities outside the college such as here in the ICS department.

3)A reason we may not have many computer engineering courses might be that we don't have enough people to teach the courses. It seems like there are only two professors for the computer engineering classes, so if we would be able to increase that amount we would be able to support a wider variety of classes.

1. There aren't enough professors to teach all the students.  Often, classes are filled and graduation is delayed.

2. CS textbooks are very expensive.  A semester's worth can cost $500-$1000 alone.  More online materials might reduce the printing costs, and may make learning more affordable.

3. Large workload compared to some other majors.  It's not really something the UH ICS program could improve, since computer science is a difficult field.

I'm going to edit this question just a bit since I'm not actually a part of the UH ICS program...

What are three ways that the UH Computer Engineering program could improve?

1) More integration with the ICS program: I know that these are two separate majors that learn different things, but I think, from my own personal experience, that CE majors should take more ICS classes to broaden and deepen their understanding of other "higher level" languages (since we are only really required to learn C and C++).

2) More hardware experience: This is more of a CE thing, but there is not much in the way of computer hardware in the program. Because we deal with both hardware and software, I think that more effort should be put into understanding what makes optimal hardware and the physics of it. Right now the highest level hardware class available is at a 300 level, and I think it might be beneficial to have a 400 level one, and one way to do that might be to have...

3) More CE centered design projects: Maybe there are some that I am unaware of, but it seems like there are more projects available to all the other engineering majors readily available (the only ones I can think of is an Android development project and micro mouse). Since most engineering students have to complete 3 years of x96 projects, it would be nice to have some that specifically dealt with CE (I had to settle with an EE project for two semesters).

I am not an ICS student but I do agree that the department should offer more resources for students. For example, hosting the classes in classrooms with computer access. I understand it is just more practical for students to have their own laptops but money is an issue for most students. This is my first ICS class and I had to get a new laptop because the one I was using was not up to specifications. In the engineering department, having a laptop is not a requirement even for computer engineering students. 

I also agree that there should be more courses offered, in different concentrations. There should be more courses for computer engineering students, since the EE department doesn't offer all of them. 

I'm not sure if ICS courses have lab times, but if not, they should. The programming courses I've taken in the EE department had labs and I feel the scheduled 3 hour time slot is a great way of giving the students time to collaborate and work on projects face-to-face.

1) It can be stressful. You must be willing to spend a lot of time on problems, homework, and projects.

2) Class Availability and prerequisites. You need to really plan out what classes you need to take for the semester.

3) Depending on the class and who is teaching it, you may have to learn the material on your own.

1) Specifically at UH Manoa, the program is not ABET accredited so that may hurt us when trying to find a job later

2) Classes are generally pretty hard so it is hard to maintain a good GPA, even Gerald told me so when I switched to computer science

3) There is no real way to obtain the oral communications/ethics requirements in the ICS field alone. The only one available is ICS 390, which is the TA class which requires an instructor's approval, which also doesn't count as an ICS class in the STAR degree requirement to graduate.

Three ways the UH ICS program could improve:

1) Helping students find a direction in their ICS career: I think a problem most students struggle with is deciding what branch of ICS they want to dedicate their careers to. Though advising is available, there are only two advisors, one of them being a peer advisor and both often busy. In addition, advising can only give someone suggestions on what fields of interests they might want to pursue, without providing real experiences which can help the student decide if that field is to their liking. Simply telling students a general idea of "Security" and what classes they might take for it does not cut it. The student will not know what exactly being in the security field entails and how they will respond to it unless 1) they will somehow miraculously land a job in it or 2) they will take a class related to it. In either case, it will a large waste of time for the student to begin one of these tasks only to realize that it was not to their interest. Especially so for classes, which would have to be dropped within one week before recieving a W. Sometimes even, there is not enough variety in the available classes for the student to experience the path they chose.

In conclusion, I think that it would good to have some sort of introductory course (or even some sort of club) that would introduce students to the variety of fields available to them in ICS. Every week or so, a new branch of ICS would be discussed and the students would have to carry out actual tasks by workers in such a branch. It can incorporate actual workers, allowing for not only realistic advice but also social networking. By giving students a head start on deciding their futures in computer science, it will not only help them decide on their classes, but also increase their interest in the field.

2) Discrete mathematics Useful?: Though I haven't determined the truth of the statement, I have heard that discrete mathematics courses are being eliminated in many colleges. While I was in Discrete Mathematics 1 and 2, I admit that I had a hard time seeing the purpose of the class and participating only for the grade and the ability to advance to higher level classes. Now that I am beginning 300 level courses, I can start to see how discrete mathematics is integrated into computer science, but it is not as prominent as I imagined it would be, having had to take a whole year of it.

In this case, I am wondering if it is possible to eliminate the discrete math courses and instead incorporate only the necessary parts of those courses into the higher level courses it directly relates to. For example, introducing graph theory in data structures. I have found the courses often review such discrete math topics anyway. However, if I am somehow not seeing the true benefits of discrete math courses, I would like it if the discrete math professors would stress clarity and importance of their subject. My first professor forced us to solve excruitiatingly hard problems with poor explanations as to how to solve them -- or what they even meant. My second professor was an "easy A" but that only convinced the students more to pass the class for the grade rather than the learning. I think a lot more students would take their time to truly understand the concepts if they saw the importance in it.

3) Intimidation: As someone who went into the computer science major with little experience, it is quite the intimidating field. Since the work is often independent and based on learning on one's own, it seems as if there are many new students to the program who are much more experienced than yourself. In other fields, say chemistry, you hardly find students who have played around with chemicals in their free time, or worked in a lab. But for computer science, it is hardly surprising to hear others talk about using languages, software, ANYTHING you don't know. I've come to feel as if everyone around you is already ahead, though I know that there are many students in my classes who are just as clueless as I am. I can't say I have a solid solution for such a thing, but if the program could create clubs or at least be more supportive of newbies, I think it would be greatly appreciated.

1) Registration is fairly difficult due to the shortage of sections for some classes.

2) The learning curve to programming can be steep and daunting and getting personalized time can be challenging in classes with a fairly large amount of students.
3) The ethics and oral credits needed for the major are hard to get due to the very limited number of courses that offer these credits.  

1. There's a lot of work, it's hard to gauge how long a project will take, and code doesn't necessarily get better when you put more time into it.
2. The schedule and workload is isolating, both from non-tech people who don't understand what we do, and other techs who are differently specialized.
3. Many of us are irritating and pretentious, as well as sexist. There are stereotypes to cut through at every turn both from outside and inside the field.



web design, web development, localization

© 2020   Created by Daniel Leuck.   Powered by

Badges  |  Report an Issue  |  Terms of Service