Through the perspective of a computer engineering student, I think the information and computer sciences (ICS) program can improve the inclusion of engineering students into the program, the incorporation of more ICS related courses in the major and the provision of resources to its students.
First and foremost, I think the ICS program should put forth an effort to include engineers into the ICS program in a welcoming manner. At the moment, computer engineering students are required to email the computer science department to request for an override in order to register for classes that we need to take since computer engineering classes are not listed as a prerequisite. Even worse, some people are not aware of this, and therefore are surprised by this fact. This can result in late registration and even losing the ability to take the class due to limited seating. Having to endure this burden should not exist. A simple solution, if possible, is to add the required engineering classes to that prerequisite list so we do not need to ask for an override.
The second issue with the ICS department is the fact that many of the courses listed in the recommended plan template are general education courses. More courses within a certain semester should be available within the ICS department; there are almost two general education courses per semester in the program sheet. On the other hand, engineering has courses mostly pertinent to the major without room for many general education classes.
Finally, I wish that the ICS department would provide more resources, for example a computer lab. Even though engineers have a computer lab already, it is not geared towards software development. For example, it runs Windows and it does not have essential programs such as git, Python or gcc/g++.
I haven't been in the program for a long time since I transferred and also just switched over to CS last year, but I do see some things that could improve. I look at the classes on the STAR registration and some classes don't have any enrollment, which is unfortunate for others who had an interest in that class. Another way the ICS program could improve is the percentage of women that graduate with a CS degree because I know that it is fairly low compared to men. For the focus requirements, we have to complete 5 WI classes (writing intensive), and I only know of one or two classes that have this. I think it would be better to include for WI requirements in the classes so we don't have to take other electives and take up more time/credits.
1. Time of some of the courses. I know in previous years, ICS 211 and 311 were offered in the evening. Thankfully I function best at night so I didn't mind it, but I know for others it could be troublesome, especially if they commute or live far away.
2. I know in Engineering, they have sophomore, junior, and senior projects. I think incorporating it into ICS would be extremely helpful. It not only forces us to have good work ethics but also gives us something to showcase on our portfolio. I would love for the creation of a course that integrates multiple majors (Eg. Engineering, Math, ICS, etc...) and in that semester/year, you work together on a group project. I feel that it'll be an invaluable experience that mirrors real-life experiences that teach us how to work in groups and different minded individuals. Of course, an implementation of such a course would be challenging so even having just a commonplace (involving multiple majors) where people can look for team members would be great.
3. Internship course. In my other major, we had 3 courses (spanned over 3 semesters) dedicated to fieldwork. It would be great if ICS is able to reach out to other companies so we not only get real-life experience but also class credit for it!
1. Some classes rely on you doing the learning yourself. i notice there are high amount of students who are able to pass classes without showing up to class
2. the learning experience can be very bad for some. Getting a good teacher for ICS can be a hit or miss.
3. Some classes don't really teach you conventional they rather only teach concepts and get it over with leading to a number of unskilled and ill prepared students.
1. Time consuming
As an ICS student, it does take a lot of time and effort in gaining the skills and knowledge in order to succeed in the program. Without time management, it will be difficult to adjust and work well when taking with other non-ICS courses. It is appropriate to study for at least 2 hours a day for one ICS class. Also, ICS heavily relies on self-learning. It can be very time-consuming to study the material outside of class.
2. High expectations
When taking ICS courses, it is highly expected of the student to understand the concept rather than memorizing and regurgitating the information. Without understanding, it will be difficult in the long run if you don’t understand, especially when taking upper division ICS courses. Like mentioned before, ICS relies on self-learning. For example, the flipped classroom approach. For some students, they may feel more pressured because they are expected to know and understand the material before coming into class.
3. Time availability
I’ve noticed in some courses that they occur later in the evening. This may add conflict with someone’s schedule, such as work and commuting, but this depends on the student. Also, for those who function better in the day might be less alert when taking an evening class.
1. Most of my petty complaints are all things that happen in other degrees or in the job market as well so I am a bit indifferent, but things like non-standard grading practices, underprepared teachers, and lack of enthusiasm amongst team members during group work do still bother me. We just need to learn to deal with everything and it's a skill like any other.
2. There is soooo much to learn. It's great, but it's easy to become competitive and not spend time enjoying other things in life. For the most part, I spent my life feeling pretty good about myself but being an ICS student can sometimes make me rethink things. Ha.
3. Well, it's certainly easier for me to come up with three good things so I think I'm in the right place. Perhaps the only bad thing is there is not enough time in the day to do everything I want to do. Again...time management skills can be strengthened but there are cool things out there to learn and never enough time. I bought six books I really wanted to read last semester and then got addicted to whatever I was learning in school so they are all shelved for now.
For me, the first downside from being an ICS student is that the course work doesn't allow for creativity as much as other majors like Art or English. When approaching assignments, my usual process is to lookup how to do certain things rather than just putting my pen or my brush down and just write whatever comes to mind. The second bad thing would be the amount of documentation or reading that is required before using a technology. Until I've used many different tools, like django, flask, or react, I won't be able to intuitively learn them on-the-fly without spending sometime with the documentation. Lastly, the material could be too abstracted sometimes. Learning algorithms or discrete math requires understanding new, theoretical topics that could be unintuitive. In a humanity courses like history, the material you are learning is about often about human interactions that I could imagine to happen. After working through the courses in the ICS program, I hope to get used to these downsides.
1.) The classes offered from the ICS department can be somewhat unpredictable, which makes taking certain classes almost impossible as the time between each offering may be too great.
2.) The ICS program could also benefit from hiring more staff, as there are some classes that are bottlenecks, but there are only a few sections available for these bottleneck classes. Also, more staff could lead to a wider variety of classes being added.
3.) Some class prerequisites could also be updated to make registering for classes easier, since taking AP exams count as a credit for ICS 111. An example is ICS 314, where the prerequisite for the class is a B in both ICS 211 and ICS 111, but ICS 211 has a prerequisite of getting a B in ICS 111. This is redundant and makes registering for certain classes more complex than needed.
Three bad things about being an ICS student
1) You have to buy a laptop. I built a machine learning desktop for $3000 and it broke my bank, but figured it would be useful for school and work. However my teacher requires that we bring laptops to class that are very high-end and so I had to fork out another $1000 for a minimum qualifying laptop, which was put on my credit card.
2) As an ICS student we are sitting a lot. This is very bad for our health. I'm currently battling severe stomach issues because of this and have been to the hospital about 30 time in 2019.
3) It's harder having a full time job for ICS studenst than it is for people in other majors. This is because ICS students have much harder classes and much larger work loads. Most other majors don't have to complete Calculus 2 or Physics 2, which are classes that many ICS students fail because of the difficulty.
1. Not many courses that can help complete focus requirements
2. Not many ICS tutor for tutoring
3. Some ICS courses have limited seating space
1. The physical and mental stress that you will have to encounter and overcome while solving problems. Sometimes you don't know where to even start, or how to ask a question when stumped and you can easily be overwhelmed. It feels worse when someone tries to explain things to you and it is still very difficult to understand.
2. The availability of classes and the time constraints of these classes. Sometimes the only classes that are offered are late in the evening or afternoon and usually, students plan to be at home or work around this time.
3. Knowing which resources to use online and deciding the most effective way to learn is also a challenge because while there is so much information out there, it is easy to be fooled and use the wrong resources, which can lead to ineffective learning.
1) I wish there were more introductory level courses besides the ICS 100 ones for those who are willing to learn
2) Higher frequency on the amount of upper divisional ICS course offerings
3) A better ICS lab or easier access for students who are taking ICS courses