1. Often times I hear the instructors ask the students, "Did / didn't you guys learn _____ already from ICS ___?" In a good way this surveying the students' current level of knowledge in the class; in a bad way, this is a sign that the instructors are not doing their background research or communicating with the other instructors. Collaboration within the department can be hard, but if there is good collaboration, it will really help the students out to steadily build up their knowledge in ICS without any gaps in between or starting a new class with incongruities between two different subjects.
2. At my first visit to the Wetware social, I could really notice the disparity between talking to an ICS student and talking to a non-ICS student. For example, a marketing student that I met at the event really knew how to lead conversations without making the other person feel uncomfortable and awkward. Of course, I can't generalize this for all ICS students and non-ICS students, but it certainly gave me some thoughts that perhaps as ICS students, we should also focus on refining our oral communication skills. As such, it would be nice for the ICS program to consider putting more emphasis on that.
3. This is sort of building on top of my second point, but I feel that there could be more communication / negotiations between the people within ICS programs.
1. There are a lot of specialties to the field, a survey of those different fields that could help general students gauge their interest in different specializations would be nice.
2. More opportunities to network with other students and teachers in our department outside of the classroom.
3. More programming jobs run through the school that students could use to build up their professional portfolios.
Three bad things about being an ICS student are:
1. With the workload from ICS classes- much time is needed to be dedicated to comprehending the material. However, putting in the time can be very difficult, for students who are taking a heavier course load, have a job, or tend to their family.
2. Scheduling for ICS courses is difficult since there isn’t much class availability for certain ICS courses. Course times for certain ICS classes are scheduled in the late afternoon, which is something not ideal for some students (especially those whose mode of transportation home can be lengthy).
3. Receiving a letter grade of a B, and not a B- for the prerequisite courses, is not only higher than other departments but is asking a lot from the student, which can be very stressful and meddlesome.
1) Heavy course load. I'm assuming there are a lot of late nights in this major.
2) Not enough opportunities to study areas/concepts of interest.
3) Not enough study locations on campus or collaboration areas.
Disclaimer: Not an ICS student, but rather a computer engineer.
1. Many of the 300 and 400 level classes can be limited and only offered certain semesters or years. It would be nice to have more of these classes available because many of them contain interesting content, but at times it feels that some of the 400 level classes aren't what students are interested in but fill up because it is a convenient choice or there is no better alternative.
2. Some of the classes, especially at the 300 level (from what I hear), tend to be heavy on workload. This can lead to certain ICS semesters being very difficult even though it may be required for the student to take those classes. It would be nice if the workload of these courses were reduced in some way to better accommodate students that have jobs outside of school.
3. It would be very helpful to ICS students if the program could offer, or adjust courses to fulfill the Oral and Ethics graduation requirements. As of right now I believe the only ICS course that helps with those is 390, but not everyone is going to be able to take that. Additionally, 390 does not fulfill any of the ICS graduation requirements so it can be more problematic to have to take that class just to fulfill those requirements.
Being a ICS student is tough, here is 3 reasons why and how it could be improved
1: Of course the workload is heavy, this is not really an issue that can be resolved while still making sure we cover and retain all of the material, so my only suggestion is to be sure assignments are productive, something we can show to future employers!
2: Projects outside of courses? Im a computer engineering student so a majority of my courses are actually with the EE department. For EE we are required to participate in research, I really enjoy this. It is an opportunity for us to research special topics and apply our skills to large ongoing projects, and its something we can add to our CV. I haven't heard much about research projects undergraduates could join in ICS.
3. Who wouldn't want more choices. I think ICS courses are awesome! I'd love to see more specialized upper 300 and 400 level courses.
1) Workload is necessary to make sure we learn, it will just be tough to manage time as a computer engineer taking other courses that demand just as much time as the ICS course I'm taking.
2) Since my major is focused on problem solving, algorithms and coding, I think the ICS students and CENG students would do well to have more classes together since we should have a lot to gain from being able to work together. Just a thought, maybe more experience in ICS 314 will prove me wrong.
3) From what I've heard in the previous replies, I agree that professional networking is an important part of the experience ICS students will have in this department. Based on the workload I'm expecting in this course, ICS students seem to be getting enough practice to develop the skills they will need to build a professional presence. They will just need the people to reach out to, particularly being in a state that isn't well known for their ICS opportunities as far as I know.
1) There is a lot of material to go over so it would be nice if there was a place to meet up and work on the projects.
2) It would be nice to get some resources that can help us to learn codes such as videos or websites.
3) A list of helpful software that we could download to help us in the course would be nice.
1. Certain times for ICS classes are not very friendly (ex. 6-7 P.M or 7-8 P.M. classes)
2. It is very easy to fall behind when learning the material for the first time. The material also gets harder as you progress through the semester which means that one has more of a reason to keep up.
3. As a freshman, certain ICS classes will do a flipped classroom course (listen to lectures online and do problem-solving in class) which was fine for me. However, some of the students I had spoken with did not enjoy this teaching method and would rather sit in a class and listen to a lecture.
More options of class times
More introductory electives in specific focus areas
1. I think ICS should offer an intro level course that focused on the tools and resources that prepare the students for the program. This course would not have be 3 credits. Just as ICS 101 prepares students to use programs like Microsoft Office and Photoshopt, I think it might help for the ICS majors to learn more about the tools used by programmers. For instance, how to use git. I am excited to learn how to us git this semester, but it seems odd that learning version control comes so late. When I took ICS 111, my coding group shared code via one of our member’s Google drive. IDEs and text editors would be another important topic that the course could cover. I used the Eclipse IDE for both ICS 111 and 211, but no one taught us how to really leverage Eclipse. My ICS 211 TA was shocked when he discovered that none of us knew how to compile our Java code via command line, so thankfully, he took the time to show us. Using UHUNIX would be another valuable topic that would come in hand with ICS 212 and 332.
2. There is a lot of bottle necking with many of the ICS courses. ICS 312 always seems to fill up fast. For the last couple semesters, the ICS department seems to add a last minute section ICS 314 to the schedule. Given the number of students in the ICS undergraduate program, I think the department could definitely use more funding to hire additional faculty.
3. This suggestion might not feasible given the size of the ICS program, but peer mentoring program might be helpful (or maybe that is what ACM is). When I took ICS 212, the instructor had some former students give short talks about the importance of participating hackathons, internships, or other extracurricular coding work.
1. As all ICS students come to find out, the work load is intense. ICS courses are not your typical college courses. Each one requires many hours of independent work, late nights debugging your code, and lots of frustration when you can't figure out what the problem is. If you are going to school and working on the side, it can sometimes be a struggle to manage your time. I think that this is not so much a problem with the department itself, but rather it's the material that is time consuming. It is the nature of the beast.
2. I wish that the ICS program provided students with more classes that fulfilled graduation focus requirements. The program does not offer enough ethical, oral, or writing intensive courses to fulfill the requirements. This forces ICS students to scavenge for upper division classes in other fields that do not require prerequisites, which is always difficult. It also increases the time required to graduate substantially because most other majors provide their students the opportunity to "double/triple dip" and knock out a few requirements with one course.
3. The list of available courses changes every semester. I've run into the problem of not being able to meet the course requirements because one or more courses in the requirements list is no longer being taught. This resulted in me having to change tracks and take extra courses that were not required for the previous track. This also pushes graduation further back. It is hard to tell potential employers when you will be graduating because it can change every semester. Until you have the degree in your hands, you cannot know for sure.