TechHui

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: 12310

Replies to This Discussion

Three ways that the UH ICS program could improve are:

 

- Providing required or highly-requested classes on a more regular basis, such as the Artificial Intelligence series; rather than cycling classes over a period of several years.

- Making it easier for students to take classes they want, even though they may be limited by "bottleneck" classes (such as ICS 311)

- Standardizing expectations and systems across classes, ensuring that students have the right tools and knowledge about how to use those tools in each class.

  1. As most people agree, the lack of classes available. I know that we are facing a economy crisis now, but students cannot get into the (required) classes the want because of the few sections available or even those classes are not offered. I was lucky to get into ICS 314 this semester so I will not delay my graduation, hopefully next year Fall. 
  2. Not elective classes for internships. It really annoys me than my friends from other departments that has those elective classes has the opportunity to do internships, which allows them to gain experience in what they are doing. Employers does not expect you to graduate with a high GPA, but also they want you have experience in your field of expertise. 
  3. Some classes needs the WI or OC requierment, which most of ICS classes does not have. I mean, we write hundreds or maybe thousands lines of code, or we do projects and presentations that require a lot of oral communication. Shouldn't those classes be classified as WI or OC? 
1)the compilers course should stop using the dragon book and use the texts by Andrew Appel or Terence Parr instead
2)there should be a course on ruby or python for web development, just one language for the whole semester.  PHP and Perl violate many principles of good language design and should not be taught.  They are hackish and students can learn them on their own if they wish.
3)there should be a course on functional programming (in F#, Scala, or OCaml), to expose students to an alternative computing paradigm.

1. More classes that dive into the specific areas of computer science

2. The cost of ICS textbooks.

3. More classes within the department that meet the focus requirements in order to graduate,

  1. More classes that add breadth to the ICS program that allows students to have more specialization in the fields that they choose.
  2. More focus courses in ICS, i.e. writing, oral, ethics.
  3. A fully open lab for ICS students that have computers with the programming software that students use in class, just so that ICS students have a place to work and use computers if they don't have access to a computer for the moment.

The first thing that I must note is that the title of this topic and the question posed inside are two different questions. One asks us about our grievances of being an ICS student, while the other asks for suggestions to the program. Although the two questions overlap a bit, not all grievances necessarily constitute corrections to the program. For instance, one of my grievances is that it is an intensive program that will keep you up at nights, often times more so than other areas of study. However, this is expected and is necessary in order to develop our abilities and knowledge, so although I feel it's one of the things that ICS students must deal with, I don't think it's something that the department needs to alter it's curriculum over. I guess that counts as number 1. 

 

2. Books on programming languages and whatnot are expensive, you only need to take a stroll down to Barnes and Nobles to confirm this. If there was a specialized library for ICS students that had books on such topics, like how there is for Law students or Medical students(although maybe not on that scale), it would really be an asset to students who wish to just delve into the world of programming on their own and go at their own pace.

 

3. I wish there were more courses with practical content that we could take within the ICS program, especially web programming. Although it's important to know how all of those ones and zeroes work, I feel that with the way technology is progressing, the web is really where things are at right now. I feel that if the program helped us develop the skills necessary to work in a software company and whatnot(kind of like this course) that would really be helpful.

 

I think one of the major problems with the department is the lack of real world training and advice.  It may just be me but I'm always worried that I won't have the skills or the experience necessary to get a job right when I graduate.  A lot of this can be solved on my own but maybe a class that would take a large amount of time developing a program or system that the student finds useful in the personal life would be both beneficial on its own and help to teach a lot about software development on a productive level.

Another problem I find in ICS classes are that students (disregarding the older graduate students) tend to be quite shy and, without provocation, will generally not talk to each other.  I feel that communication and the ability to collaborate with others is important and maybe some classes should focus more on making the students work together

1. Not enough professors and courses
    I found this to be especially problematic during the last few semesters of my undergraduate degree when I was trying to get the last few 400-level courses that I needed to graduate. I ended up taking a few classes that I didn't find very interesting because there were so few classes being offered.
2. Alternative programming paradigms should be taught
    I feel like the required classes end up missing a lot of information that is important to becoming a successful computer scientist. We are basically taught that object-oriented programming is the only way to approach a problem. There is one semester of C and less than one semester of Lisp and Prolog (and one semster of assembly) in the curriculum. Beyond that, the only way to be exposed to other languages or paradigms is to learn them on your own or choose from a small selection of courses.
3. Not enough emphasis on how to write good code
    Even though the curriculum uses Java, I feel like I was never really taught how to write good object-oriented code (or just good code in general). We are taught to program in ICS 111 and 211, but (at least in my experience) there is not much emphasis on object-oriented design or good programming practices. When I was required to write larger, more complex programs in later classes, I often felt unsure about how to properly divide the problem into different classes or just how to structure the program in general.

1.  Cycling of classes.  The cycling of classes at the elective level can be frustrating as you might not be able to take the classes you want before you graduate.

2.  Lack of community.  In my experience (and from talking to some of the other new ICS graduate students who got their degrees at UHM), there is not much of a cohesive ICS community at the undergraduate level.  You go to classes and pretty much stick to yourself unless you are doing group projects.  Even in the case of groups, these typically do not extend into longer lasting relationships as it is relatively rare that you would be in the same class next semester.  There also is no community area for ICS students as far as I know.  Such a thing could help in forming a stronger community as it could encourage more persistence in inter-student relationships since students would be more likely to see each other even if they are not in the same classes.  The decentralized nature of ICS course locations does not help as well.  If everything was more centralized, it might encourage more "hallway talk" between students and build connections.

3.  Unless I missed it somewhere, I do not think there is a specialized web development course.  I learned basic HTML and Javascript from the scripting languages course, but a course that went more in depth about web development technologies, techniques, and best practices might be useful for a student wanting to pursue that as a career.  I guess a programmer proficient in Java could figure it out with Google, but there are some crazy things that Javascript lets you do that you do not encounter in Java.  For example, handling asynchronous calls with AJAX is completely different from everything I had done in Java up to that point.  While I was able to figure out how to make it work due to my programming experience, I had no idea if it is the best way (or even the "accepted" way) to do it.

There are few graduate courses being taught in the ICS department. It would be nice to have a more diverse selection. I know that all universities are struggling with finances but perhaps there are innovative ways to address this problem. For example we are in Hawaii; it might be possible to attract professors from the mainland for a single semester. It would also be nice to have the flexibility to take a course in the summer.

Computer Science programs have traditional struggled with balancing the use of group work while still ensuring individual students gains required programming skills. The ICS department may be able to facilitate formation of study groups to support the idea of a learning community while not impacting negatively an individual students skill set. I often see students sitting in the halls waiting for classes it would also be nice if there was a study area for them as well.

The introductory courses such as ICS 111 and ICS 141 put students with no experience in the same class. This has a negative impact on the students with no experience and their self-efficacy. It also makes it difficult to keep the course engaging to the students with experience. Some schools such as the University of Chicago and Harvey Mudd have split those students into separate courses. For instance at Chicago they change their curriculum to have a required introductory course that could be bypassed with a proficiency exam. This approach could benefit both groups of students while it would require an additional course it would improve retention of ICS majors.

 

1) The ICS department could use a small computer lab conveniently open to ICS students for most of the day.  I used to check to see when the computer lab was open and found that most of the time it wasn't available because a class was inside.  The department has restricted access to the computer labs for those who take certain classes.  After the semester ends, students lose their accounts and even if they keep their account the lab hours available are very limited to non-class use hours which amounts to very little.  The lab would benefit students the most who do not have laptops and have a PC.   I know it may not be possible since it would probably require a lab monitor and maintenance upkeep, but having a place where ICS students can do computer related work and collaborate to help each other out would be beneficial.

2) There is a lack of student extracurricular organizations.  Right now there is only UH GreyHats which I am a member.  We could probably have another club such as a programming club/team since programming is vital to all ICS students and could help them out.  Maybe it is just the lack of community.

3) ICS could have a more focused ICS track with less focus on General Education in Arts and Sciences requirements.  Not sure if this is possible, but some classes don't really help with becoming an ICS professional.  

RSS

Sponsors

web design, web development, localization

© 2024   Created by Daniel Leuck.   Powered by

Badges  |  Report an Issue  |  Terms of Service