1. Increase the number of courses if possible. It seems like there is a bottle neck of students for 311 and 314. This creates issues as students may need to pass these classes to graduate.
2. Introduce 314 earlier. Web development is the most interesting class but it is shame that I have to go through multiple prerequisites to get there.
3. Career fair dedicated for computer science students.
1. It is difficult because of how broad ICS is, but it would be great if students were more able to explore the different disciplines of computer science. We have 3 tracks for the program and that is great, but there are tons of possibilities and it would be great to have courses that samples different topics or introduces them to students.
2. The UH ICS program seems to really focus on theory as opposed to concrete application. It's great that we have 314 for building a portfolio and starting projects, but are there other opportunities like this?
3. It's a little disappointing that the ICS program removed its IT track. A lot of students are not even aware of how robust the IT field is and the many alternatives there are to programming.
1. Update the outdated teaching/software used to make it more adaptable for real-world uses
2. Have more elective courses available in the semester as there are some available in one semester and it's not available in the next.
3. Having a class that fits our schedule because most of the time people would need to take the class next semester because ICS takes up that time slot
1) The ICS majors have a very similar amount of generalized science and math classes like many other STEM majors, and then all the ICS classes as well. But additionally, we must take two years of a foreign language, on top of the other minimum six computer languages we learn too.
2) ICS students must purchase expensive computers and expensive textbooks.
3) ICS students aren't done with education after graduating. We enter a field that never stops changing. There is no real ability to chart the course ahead since we will all need to keep learning and adapting to new technology.
(Note: This is my first semester as an ICS student at UHM. So, I don't feel I've been in the program long enough to know where we most need to improve. However, I can address the thread title, "Three bad things about being an ICS student." I hope that's okay.)
1. There is never a point where you can relax
It can be argued that there is no profession on Earth where the individual has achieved the knowledge and success that there is absolutely no room for improvement. Yet, it is human nature to be a little (or a lot) lazy. The following article in Business Insider quotes research that says “by age 25 our brains tend to get lazy. It’s not that our gray cells can no longer learn new things, but rather we rely on a set number of neuro pathways to do our thinking.” (https://www.businessinsider.com/our-brains-can-get-lazy-by-age-25-b...). If we are not actively learning as we grow older, the inevitable result is that eventually someone is going to be better than we are at our jobs (if they aren’t better already). This might come later in our years – where we’ve already accrued some financial stability. Or it could come soon, swiping us off our feet and left jobless. Computer science is competitive by nature, and it is one of those fields where the cushion of comfort seems smaller than others. We cannot simply memorize facts, nor do we repeat the same processes every day. We are actively solving problems and trying to solve other people’s problems too. Computer science is a way of life. If we incorrectly view it as just a major or a job, it becomes too stressful. We cannot relax. We must remain active learners.
2. There’s a lot of junk out there (and we have to sift through it)
A significant pro of computer science that I mentioned above (See Pro point #2 in my other post on "3 good things") is a large online community that is willing to share and help you with your development. But the help, is not always good and sometimes the recommendations, are just plain bizarre. With a large pool of suggestions, there are many amateurs and experts in the same forums - all with equally strong opinions. Due to the nature of programming, there are also many different methods to approach the same problem. And the code of one person will usually look different from someone else’s. In school, we are taught to follow coding standards to try to minimize the frustration that can be caused by poor code format. But the Internet has all types of code. Some are a literal Frankenstein of bits and pieces and a lot of recommendations don’t work. So, if you are a computer science student trying to learn something new and are self-studying, it can be time-consuming to find a good source. And even harder to find a good source that explains what they are doing.
3. Just getting a degree, doesn’t guarantee you a job
This can be said about any degree. Although if you have decent grades and go to medical school or law school, it is likely that you’ll be able to get a job in your field of study. We also have a shortage of nurses and teachers, so if you get a degree in Nursing or get certified to teach at public schools, you’re also likely to be able to get a job. Computer science, however, is one of those fields that segues into many, but with no direct path to any one job. You can be a programmer, but that doesn’t mean you work as a “programmer.” A lot of people can do some amount computer programming – even if they majored in something else or didn’t go to college. So, we need to stand out, perhaps more because we are Computer science majors. And we also need to decide if we are okay with not becoming the “programmer” or someone who rakes in the cash like Sergey Aleynikov.
Three bad things about being an ICS student:
1. The times and availability for the ICS courses are so different and limited.
2. Lack of sleep and declining mental health due to the rigorous course load.
3. Not being exposed to more paths/interests in your first couple years to help find an idea for a career path but thats why I am excited for 314. Seems like I will gain a lot from it but I haven't crossed other courses like this.
1. Gateway Prerequisites (311 and 314) make it very difficult for a CS major to experience the different branches of Computer Science early into their degree.
2. Limited class times make scheduling for CS classes a larger priority than say an elective or general requirement class, making the semester more of a decision than a free choice.
3. Expensive to keep up with (need better equipment, book costs, and Lab rooms don't have the most up-to-date resources in the form of computers).
1) A new study area for ICS students. I loved ICS Space and became a bit sadden when they took the place and turned it into a lab. Seeing a new one would be great!
2)More class bases on a concentrated direct area of code or a type of ICS track. Basically I want to see classes meant for sophomores and freshman to help them pick a concentrated ICS field. I know a lot of students are in general right now but I feel like if they were able to have a small taste they would be able to determined what type of ICS they want to specialize.
3)Financing situations for textbooks and materials would be nice as well!
1. Classes are limited. I often find myself getting inconvenient time slots.
2. Variety of courses. Currently, courses are decided by student interest so many "unpopular" courses are excluded.
3. More on campus resources. I feel we have to get access to a lot of things independently.
Three bad things about being an ICS student:
1. Assignments can be very time consuming. Often times, material in class does not cover everything due to the scope of software engineering. We are usually finding our own resources to solve problems.
2. Bugs. Finding errors in our code can be so stressful and adds to time consumption as mentioned above.
3. Programming in general is pretty difficult. Mastering syntax and finding ways to become more efficient in programming takes lots and lots of practice.
1. The topic is very broad focused and could use some specialized courses.
2. Textbooks for ICS related classes are quite expensive.
3. An easier way for ICS students to collaborate outside of class due to classes now being online.
1. Limited class times make career swapping to ICS difficult for people who already have a job and are looking to make a career change.
2. Lack of a computer lab for just computer science students means that we need to have the funds to keep up with more than just books, and for certain classes, our computers need to have higher specs than the average student computer.
3. There are not enough graduation pathways for the Computer Science Bachelors degree. For as broad as computer science is, it would be nice to have more track options with the degree to expose students to the different facets of the industry.