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

Replies to This Discussion

Issues I have had with ICS in general:

1) From the beginning since the days of ICS 111 and 211, I enjoyed learning the basics of coding and getting my feet wet. However, once you start hitting the 300 level courses, the classes shift to a more theory and knowledge base rather than hands on coding. Personally I would have liked it if most courses consistently had you code, whether it's difficult or simple does not matter, what's important is keeping the student constantly in the coding mindset. I say this because after a few semesters, I have trouble readjusting to coding assignments that expect you to know what you're doing.

2) I wish that the things we learn in class, the theory portion, could be more helpful in the practical applications of coding assignments. I saw a few comments saying that Google was more of an instructor than the actual professors at times, and I completely agree. If Google has all the answers we need, then why are we even attending the class? The only thing I can say is that the class is there to give a proper learning structure and to show progress, but even then some websites are capable of that as well.

3) I would REALLY like it if there were more specific paths in the ICS degree. As of now you are just thrown into a very, VERY general learning course, taking in a bit of everything. Now, I'm not saying the things I've learned haven't been important, but I think a majority of the things I learned would almost never be applicable to me in the field unless that IS my field of study. Video games are a big industry and I really want to get into that, but only a few courses are offered at UH that are relevant to that study. Even gaming aside, I'm sure a lot of people would like to go down other specific paths that involve computer science as a base.

1.) There are times when I think the structure of the ICS courses aren't properly set up, and it might be due to the fact that we're combined with the college of natural sciences, and are therefore required to take the required natural science courses (up to calc 2, some physics, second language, etc.). Having had a more difficult time in the algorithms course, hearing that other colleges internationally have more than just one algorithms course seems a lot more attractive than having a lot of large topics jammed into one course, and have us expected to remember it in the long run.

If possible it would be nice if, somehow, we didn't have to take some of those natural science requirements (as to not take away from focused electives in ICS) and had more algorithms classes instead. I think it's the foundation to nearly every principle in computer science, and the skills gained when applied practically will be used through nearly if not all focuses.

2.) You need to be very careful about how you plan your courses because ICS courses will take up a large amount of your time. This may be a trait that occurs in other majors like physics, engineering, and what have you, but specific to ICS, our problems often come to understanding someone else's code so you can work with their stuff, learning a framework or a language, and thoroughly testing your project through some dozen test cases and reading through to test for bugs.

3.) Some classes are very 'teach yourself and come to class for some practical applications to what you learned at home'. While a very good concept, it never works out. We'll be given a video or some notes or a book to read, we will go through that, try to understand it, fail to understand it, Google some explanations, grasp a little of it, and then Google all the subproblems that we have to fully understand the problem. Just like the complaint in #2, this just adds on to the time it takes to learn the material.
Then when it comes to the class instruction, one of two things happen: we all remain confused on what the topic is about and the professor ends up walking around and lecturing us anyway, causing those who actually understood the material to be bored and ask themselves "why even watch/read at home and waste several hours understanding concepts when in class we just go over the material anyway and it's faster". The second more common occurring trend is the class goes on just as if everyone understood the topic, when maybe only a small percentage of us did.
From what I understand, the purpose of the design is to allow students to get their feet wet in the topic so when they come to class, they'll be able to at least understand some of the base concepts so the discussion/lecture goes on smoother and quicker. Sort of like placing some bricks down and applying cement, then letting the cement dry before building upon that first layer. But I feel like this method is more of placing half of the required bricks to get a solid foundation down, cementing the entire layer, and then realizing you forgot the other half of the bricks and placing it in the goop of cement.

It feels really impractical to me.

Three bad things about being an ICS student... I just transferred into the program after doing mostly online school. So it is hard to come up with how UH's program should improve, since Im not too familiar with the program yet. However, I do have a few thoughts on the transfer process into the program. The program is set up with a basic structure where student's take certain classes each year and they build upon each other. Coming from another program, a lot of my stuff did not line up or did not transfer all-together. For the most part it is a good thing. It ensures all the student's have a baseline to understand the follow on classes. However, it would have been nice if the transfer process was more flexible and took into account the individual student's experience and classes. Instead it was a blanket yes or no for transfer credits. I find myself now in a very bizarre situation with the courses Ill need to take to graduate.

Next, just being in the computer science field in general, can be confusing on which direction to go. There are so many specialties and directions in the field, choosing what upper-level elective courses can be a little overwhelming. The ICS counselor so far has been very helpful, but it would be nice if there were groups or other experienced students or professors that could help with this! Maybe there already is and I will figure that out soon. Like I said, this is my first semester! 

Last, as a transfer student, it would have been nice to have had a small orientation to the program. Nothing large scale, but maybe just an experience student or TA who would welcome the new student and help them get acquainted to the program. Maybe give them list or clubs or ICS events, or get them acquainted with the ICS buildings and and resources that the department might have. Maybe the department already does this for incoming freshman, and if they don't that might be helpful to them as well. 

1) The amount of hours we're expected to put into each class.  While I understand that ICS is a difficult major that offers difficult classes, it's difficult to efficiently put the time that's required for a class without neglecting another class.  I understand the reasoning behind it, but I still think it could be improved.

2) I think there should be more focused areas.

3) I think there should be more TAs in the ICS classes.  Personally, every time the professor and TA post their office hours, it would almost always conflict with my work/class schedule.  By having more TAs, there'd be more office hours and more people will be helped.

1) The time commitment for some of the classes is quite taxing and because of the nature of some of the courses we move quite quickly through content to the point where I feel like I'm getting left behind sometimes. When I was taking Algorithms I felt like I needed to spend several magnitudes more time studying and doing work for the class than my other courses which I think shouldn't be the case. I'd rather have seen the class be split into two consecutive courses that spend a bit more time with each subject.

2) Sometimes some students are a bit insufferable. There's a culture within computer science in general in which people like to show off or talk town to others. Of course, this isn't with everyone and in general there are many more people who aren't like that than there are however. In the past I've been treated like that and it is really disheartening to feel like you've learned something only for someone else to treat you like you haven't. There's this element of competition that is good for some to push themselves but makes it hard for the ones catching up to feel invested in learning I think.

3) The lack of consistency between the curriculum of classes. For instance in some classes we program in C for the whole semester, the next we program in Java, then we program in Python. It's difficult to develop extensive skills in a particular language because every class and every semester we need to use something different. Although I do like that we are getting taught multiple languages, as a student and especially with consecutive courses that focus more on theory than implementation, it is jarring for some students to change languages every class.

1. As of this writing I’m currently in my fourth semester as an ICS student, but so far I feel like the large majority of classes don’t prepare you for real-world development. When you get a new job in the industry, most of these jobs will consist of you being thrust into a large, pre-existing codebase where you are expected to maintain and add new features without breaking the whole project. To do this you need to be able to understand the code and flow of a large program, which is not easy and requires practice. No class so far has helped me develop these skills, and due to recognizing this I’ve looked at large, open-source programs on GitHub in my free time to help me develop these skills. However, it would be fantastic if the ICS program could find a way to incorporate this aspect of programming into more classes.


2. I wish there were more classes that focused on building large projects that you could use on a resume and talk about in job interviews. As a programmer, one of the best ways to make your resume stick out is to have a portfolio full of interesting projects that you worked on. While it will always be necessary to have projects outside of school to demonstrate your passion for the work, it would be nice if more of more of the time I’m spending on schoolwork could be used on a resume and be a talking point during interviews. ICS 314 seems like one of the classes that will accomplish this, but it is more of an exception in the program.


3. There needs to be more classes that fulfill the 300+ ethics and oral communications requirement. For both the current and previous semester, the only class that fulfills these requirements is ICS 390 (Computing Ethics for LAs), which is a class I have zero interest in. Due to this students are forced to take higher-level classes outside of our major which we most likely would be less interested in.

1. Provide more information on what classes will be available in upcoming semesters rather than having to wait until class availability list comes out.

2. Provide earlier times to certain classes.

3. Have ICS classes provide more WI, OC, etc requirements so that we don't have to take more classes outside of ICS.

Three ways that the ICS program could improve would be:

1. I guess hire more professors to allow for more slots for particular courses. Currently, it can be very difficult to get the classes you need to graduate on time. For example it took me 3 semester to finally get ICS 314, which is one of the core requirements for graduation

2. Make sure courses keep up to date with software they are using. I believe it is very important as an ICS major to be up to date on technology and software that are beneficial to them. I know some courses are very out of date in terms of technologies they are using.

3. Have courses teach material that would be relevant to real life applications. I feel like ICS 314 is probably the only course I am taking that my actually help me in real life after graduation (showcasing skills, building persona etc etc).

1. Many teachers do not help students work on their professional persona like this class. So possibly add more teachers that want to improve the students professionally 

2. Most of the major classes that an ICS student would need like 314 and 311 are really hard for younger students to get into. So possibly allowing more sections for these particular classes.

3. Add more group work, when in comes to programming classes. Now days it seems that most classes are fixated on making students solve things on their own instead of working with a team 

1. Class availablity is limited: There are several ICS courses that are only offered during specific times of the day. For example, Operating Systems ICS 332 is only offered from 6pm to 8:30pm on either Tuesday or Thursday this semester. As a student currently working nights, this can be pretty frustrating. I will eventually have to change my work shift to accommodate for these specific class times. Also, some ICS courses are only offered for one semester out of the school year. My suggestion would be to offer more Web-based courses to accommodate students. I believe University of Hawaii at Manoa is also currently the only school in the University of Hawaii system offering a Bachelors ICS degree. Developing an ICS program at another UH campus like UH West Oahu would be helpful.

2. Need More Teaching Assistants per class: I have found TAs to be an invaluable part in my personal experience in the ICS program. In my opinion, each ICS class should have two or more TAs. There were several occasions where I went to visit a TA during their office hour, and there was already several people ahead of me. This can be very discouraging.

3. Get away from a completely a "flipped classroom" model. There were a couple of ICS courses I took at UHM that used an inverted classroom model. These type of classes helped me become a self-directed learner and improved my collaboration skills, but I feel these classes could have been a lot more effective if professors also devoted time in class to summarize the previous video lectures. I often had to refer to other YouTube videos to get a better understanding of the material.

1. I think the ICS program could improve if it had a software developing club. I'm not sure if one exist since I haven't heard anything but I know that many of the students work on side projects. It would be nice to work together on larger ambitious side projects with my peers.

2. More classes. I almost didn't get into my ICS class because all the available classes filled up quickly.

3. More teaching assistants. I really like what the TA does for our class. She will help us by helping us study for the quizzes. With more TAs they could offer more times to help the students study.

  1. Limited class availability. Classes such as ICS314 and ICS311 are prerequisites for many (if not all) of the upper level courses. As a result, these classes are always full and students are unable to take other ICS courses toward their major. Have more ICS314 and ICS311 sections taught would definitely help. 
  2. I would really enjoy a place for ICS students to study late at night. Starbucks is great, but it would be nice to get some immediate feedback from peers about an assignment/topic.
  3. Some upper division courses are rarely offered. There are some really interesting courses I see in the ICS catalog but I never see a professor teaching them. 

RSS

Sponsors

web design, web development, localization

© 2024   Created by Daniel Leuck.   Powered by

Badges  |  Report an Issue  |  Terms of Service