1. Connections/collaborations with other institutions
2. More diverse/multidisciplinary upper level electives.
3. A clearer directory for classes previously, currently, and planned to be offered as well as the associated professors.
1. There aren't adequate and many resources available to help ICS students. The only resources to help students is the learning emporium, the lab, and the TAs. Often when going for help at the lab or the learning emporium, there will be one person helping 10 other students with their work.
2. The timing of classes. A lot of the time ICS classes are done later around 5 to 7 pm. I know a lot of students would like more choices when it comes to choosing their classes instead of having to be forced to take a class at 6pm. I personally am more productive earlier than later.
3. The flipped classroom format. I enjoy the flipped classroom format, however, I think it only works with certain classes. Often with a flipped classroom format, in-class students would ask questions but I think it is hard for students to ask questions. For me personally, I have a hard time asking questions in class, I think it would be beneficial if the teacher still lectured instead of relying on students questions to lead the course.
1. The program could use more professors per available course. It feels limiting knowing that for most of the ICS courses I have taken so far, I'm essentially forced to learn under this one and only professor who is teaching it in a given semester.
2. Some area electives, particularly from the ACM department, are difficult to get into. Because enrollment priority for these electives are given to students who actually major in ACM, ICS majors have been advised to double major in ICS and ACM if they want a better chance in getting into these specific electives.
3. The flipped-class format is something that was relatively new to me and it still is, which is unfortunate considering that some ICS courses can only be taught in this manner, as opposed to also giving us the option to have a traditional class format.
1) A large dedicated study area like how Daniel mentioned would be nice.
2) Perhaps if there were more research opportunities available and bulletin for everyone to see it would be a great improvement.
3) Having more access to internship opportunities would be great too!
1. The time that classes are able to be taken. For ICS 311, as an example, they only have classes available in the evening, which can be tough for students who have it difficult in terms of transportation. Though this semester could be one exception due to COVID, it may be difficult for students in the upcoming years.
2. The pace of some ICS courses. While it is true that we have to set time outside of class to work on that course, it doesn't take into account other courses the students may be taking. Not everyone is able to keep up with the course material and would otherwise fall behind, forcing the student to re-take the course should they fail. Some faster paced courses could be split into two classes/semesters for those who need it.
3. Advising on courses. I remember going to my mandatory advising in the first year, but I was not told of all I needed to take in order to graduate. While it is true that star shows you the recommended courses to take per semester, it does not fully tell you all the credits you need in order to graduate. Personally, I do check up on everything and make sure I'm doing what I need to do in order to graduate, but improving advising for those who don't would be extremely helpful so they don't add an extra year or more to their expected graduation date.
1) Experiencing impostor syndrome can reflect how we feel about ourselves.
2) There are not enough prerequisite ICS courses seats that are available.
3) Encountering bugs can be time consuming and frustrating.
1) Computer Science, as many have mentioned requires a lot of different skills which aren't needed for different specializations, such as having to take calculus II, and other numerous core requirements on top of a very broad spectrum of computer science classes. For example, as someone who wants to develop video games there are a lot of difficult classes which won't help later in my career.
2) Related to the previous answer, computer science has one of if not the highest dropout rate of any major; which with the need for more computer scientists, it doesn't make sense that more hasn't been done to help this.
3) Many ICS students are shy and uninvolved with the administration side of the university, which means that there isn't much of a voice for ICS students. If I remember correctly it was hard for clubs, including ACM I believe, to get new members last semester, or to even choose presidents for some clubs as the seniors graduated.
1. A more focused area for the ICS program, the current area is pretty limited in space.
2. more courses that explores the wide field of computer sciences
3. more speakers from the tech fields
1. I think there should be more opportunities for ICS students to talk to other ICS students - undergraduates and graduates
2. Java is the language used in most of the courses. We have a few other such as C and C++, but I think that using a wider variety of languages will bring students to a higher level technically.
3. I wish there were more courses that could meet other requirements such as WI, OC, and ETH.
1) If there were individual paths for CS instead of everything combined into a general subject, with a few classes for a specialization, students could gut out all the excess learning they would never use. It would lead to more in depth knowledge on narrower areas and better internship experience because the overall skill level will be higher.
2) Classes are too fragmented. To get a degree you have to go through XXA,XXB...XXZ classes, but every single class teaches different languages as a foundation. Additionally, the classes don't simulate a real environment until the upper classes. You generally know what classes teach but they fail to convey the importance of the topic because of the classes being so unimpactful.
3) Lack of clear class path. A student might want to change his schedule within the bounds of the degree class requirements, but what they learn is based on their own opinion. Certain classes might help more with specialization, but not knowing the paths gives students classes useless to their actual profession. I suggest refining career paths a bit more.
1. So far the 100 and 200 level courses have felt too easy
2. Being required by some teachers to show up to lab
3. Little to no teaching on the process of programming (ex:how to go logically break down problems and then create pseudocode then turn into code, debugging )