CSE Exit Survey Response Summary (2007-'08)

Freeform Questions

Freeform answers to: 'What single aspect of the CSE program did you find most helpful? Explain briefly.'

  1. I felt the usually much-hated 221 series was actually quite helpful. The curriculum was very organized.
  2. The ability to take a course in almost any area of the field. If I wanted to learn about graphics I could do so, etc etc.
  3. The ability to focus your degree depending on technical electives. For instance, I realized I prefer design over other computing topics, so most of my technical electives were design-based to help prepare for grad school.
  4. Courses that had practical application and required you to figure out how to do things on your own.
  5. The amount of capstone courses offered are delightful. I believe we should have more of that kind of class, because we learn how to act in a real world project, and also research in an academic setting.
  6. Our program includes the Engineering blanket courses by reducing the general 90 hours of GECs into 45 and allowing those other 45 for Engineering courses. This track was actually extremely useful and helped put my schooling above other programs.
  7. The courses CSE 560, and CSE 668, giving tight deadlines on large projects similar to the workplace.
  8. Ability to choose among a lot of options for technical electives and GECs. I had the opportunity to choose classes I would enjoy taking and that were relevant to what I want to do with my career. I would like to see more course options for software development in C# or software development in Java or advanced concepts in web design or similar courses that have a focus on what we would be doing after graduation, but the existing courses are a step in the right direction.
  9. Dr. Liu, his ability to explain the material clearly is what go me through classes.
  10. I think the staff advising was very helpful for me. When I had a question, I usually got a satisfactory answer within 24 hours. This was very helpful for planning courses or any scheduling problems I might have had.
  11. None.
  12. CSE 221, 222, 321. Best courses to prepare students to be applications developers.
  13. I found most helpful the fact that you can come into the program with a very limited knowledge of programming, and can achieve a high proficiency through the RESOLVE courses.
  14. Advisors were very helpful. I took a very non-standard path to get my degree and the undergraduate advisors were always very helpful.
  15. I liked the number of different CSE-related groups, research forums, etc. that were easy to access and learn from.
  16. I like the focus on the basics. I have heard all sorts of stories about colleges churning out JAVA code generating machines instead of real programmers. I really appreciate my foundation in the principles of computer science.
  17. Group projects. Having had some real world experience in addition to school, I can say that these build some of the most important skills to have in the real world, such as communication and how to distribute work.
  18. Classes are organized in an efficient manner.
  19. The program teaches the ability to solve problems, and to look for solutions.
  20. I liked how for many, if not all, of the classes the student was forced to figure out how to solve the problem on their own. Sometimes you could look for the answer in books or on the web, but sometimes you had to go seek the professor (like a mentor at a job) to get advice. This became particularly useful in my co-op experiences, because many times I was given a task and told to solve by any means possible. This forced, yet aided, approach help me learn how to solve programming problems in an efficient way.
  21. The open ended lab work that challenged me to bring all my knowledge of CSE to the table and learn new programming languages.
  22. I felt that a broad engineering curriculum elicited in COE requirements was very helpful in developing well-rounded skills in many engineering disciplines. This broad math/science/engineering background is extremely helpful in developing as an engineer.
  23. Many teachers are gifted and dedicated to the field and to the common goal of solving intellectual problems. Their encouragement allowed to me to pursue the variety of programming projects I chose to do.
  24. The real world experiences such as CSE/ECE 668, 758.
  25. The theoretical classes were of great help to me, as learning a programming language is easy, but the concepts learned in 541, 680, and similar courses gave a great foundation which made it possible to make better decisions when solving a variety of problems, not only those requiring programming or software design.
  26. The Undergraduate Advising office was extremely helpful. They worked quickly and efficiently to assist students. Thanks for your help.
  27. I felt that the capstone course played the largest part in my growth as a CSE major over my time here. I took CSE 758 for software engineering and felt that the way it was conducted encouraged students to think on their own and to understand the importance of various aspects of a software development life-cycle.
  28. A majority of good professors helped explain the material in courses and were helpful out side of class.
  29. I liked the ability to specialize the degree further than just BSCSE.
  30. All the types of programming projects available (C++, Java, C#, MEL, Assembly, etc..)
  31. CSE 560, 660 and 651. All other classes have been pretty useless.
  32. The classes I found most helpful were those that most closely mimicked what computer science engineers do in the real world. Classes like CSE 670, 756 and 616 have been the most beneficial to me, because I used skills gained in these classes during my internship. Of course, the fundamental classes, like computer architecture, operating systems and algorithms are very important too, but this level of computer science doesnt come up in industry all that often, from my experiences (it does however come up in interviews all the time!).
  33. I found the bingo sheets and structured curriculum made it easy to identify graduation requirements. Ive seen that in other majors, finding the appropriate courses to take is not as straightforward.
  34. Access to the Freshman Engineering Honors project. Access to extracurricular engineering projects such as FIRST.
  35. The 694X class I took on Networking was VERY useful, and the fact that the CSE program allows for new classes like that to be tested is helpful. Other than that, the facilities were nice, and RESOLVE turned out to be a pretty good idea and way to teach, but I only thought that at the end of 5 years, when I realized what it achieved, whereas the first 2 years of my CSE studies it was the bane of my existence.
  36. Computer Labs
  37. The CSE program had many courses to choose from, which allows one to gain extra knowledge on topics that can be useful in the future or just plain interesting. The program also had a good base of required courses in my opinion, this provides a CSE graduate with a broad exposure to computer science engineering as a whole.
  38. I found the project based courses to be the most helpful. This provided a place to see how all of the pieces fit together.
  39. Project-based courses are definitely where I learned the most.
  40. I honestly cannot think of one. I would say FEH, but I was instructed that CSE students dont do FEH by the advising staff at orientation, so I figure that doesnt count. I suppose gaining an understanding of just how dense (and not motivated) some of the people who graduate from college with a BS in engineering really are (and how to kick them in the rear to encourage them to do things that need doing) will be pretty valuable, as I intend to pursue a career working on teams (and probably at some point leading teams) with (inevitably) similar people. OH, also (this is important) having graduated as an ENGINEER, and not just a computer scientist is terribly awesome. So, kudos to the cse dept for getting/keeping us ABET accredited.
  41. Theory was probably the only area I felt like I learned anything.
  42. MSNDAA was very useful. Vista for free helped when my funds were lacking. MSNDAA should really include Office though. Office is the single most microsoft application I used the most through my collegiate career, but it was not included through MSNDAA. The bingo sheet was useful when planning courses. Carmen was useful when professors choose to use it. More CSE professors should be encouraged to use the system. I found professors outside of the CSE department used Carmen more often and that was useful.
  43. The individualized option gave me more motivation to finish out school the way I wanted too. Some of the classes just didnt interest me one bit and with a job already lined up, I could tailor my classes to fit that.
  44. It taught me that although professors and classes are important, I still need to go out and learn things on my own.
  45. none
  46. Wide choice of technical electives enables us to take classes in areas which are of prime interest to us.

Freeform answers to: 'What single change in the CSE program would you most like to see? Explain briefly.'

  1. Eliminate the Stat 428 requirement and add something useful from the Math department.
  2. The intro program. I learned to program in 201, or Java, then we move on to SCE using RESOLVE. Though this is a basic language does teach students the basic structure of it, it is hard for many to adjust to a language actually used. Only one class after they do that, students are expected to just pick up a language of their choice on their own time and learn it better than what they were originally taught. Not learning more about programming in C or C++ from the beginning I feel severely held me back when looking for initial internships.
  3. A more communal feel within the department. Perhaps an actual student lounge would help, or maybe change the layout of the computer labs to promote group work (without academic misconduct, of course).
  4. A single change makes it hard, but I think the most important thing is to move away from teaching solely concepts and move towards teaching concepts with practical application (lab assignments). As an example, Im in a networking class, my first, and the professor decided that were all good programmers and therefor we wont do any programming, only lectures and tests. The problem with this is that Ive never done network programming. So if I were to take one of the higher level classes that expects me to have a background in writing network code, Id be in big trouble. From my experience, and others who Ive talked to, this is a big problem in the CSE department and is probable one of the reasons why I come across a lot of seniors who can only code at a freshman level.
  5. Change to semester please, this 10 week program is too short for a deep understanding of anything.
  6. Possibly focus on a career-oriented class structure a little more. Most people will work as opposed to the supported idea of pursuing academia after school.
  7. More consistency with different professors teaching the same courses
  8. A significant number of programming tasks outside of school seem to be centered around modification of existing systems. I would like to see more labs with an emphasis on adding features to or otherwise improving existing code as in CSE 221-321. Not only does this help when we are expected to use an unfamiliar language, but it is more representative of the types of things we might be expected to do outside of school. Plus, it would decrease the tedious nature of labs where the bulk of the programming time is focused on looking up on Google how to declare a class properly or remembering how to take in command line arguments.
  9. Get away from the Resolve sequence. Most students do not know a language well going into the program and no one actually uses Resolve, which creates difficulties for students in later classes.
  10. I would like to see more options for electives for students to take. We are given the option to choose our specialization and within a specialization we have electives but we are required to take so many required courses that I found to be somewhat pointless or redundant.
  11. None.
  12. Incorporate much more modern technologies.
  13. I feel that it would be better to teach the software engineering classes through a more mainstream programming language other than RESOLVE.
  14. Make the course bulletin more accurately reflect classes. For instance, 772 as taught was very different than described. Also, cse 671 is listed as being offered in Spring which it usually isnt. I was burned by this.
  15. Re-evaluation of prerequisites, or at least have strong suggestions for which courses to take first.
  16. The lower admission standards have led to classes where people interested in learning and interacting are not in the majority. Often there is hidden hostility to those people for quickening the pace of the class or controlling the classroom. This can be a distraction and leads to some friction. Lower standards also seem to have slowed down some classes because professors are answering inane questions multiple times in drawn out fashion. It would be nice if better students could be attracted so the department could have quantity and quality.
  17. The removal of the RESOLVE discipline. RESOLVE is willfully ignorant of real world programming practices, is inefficent and under-featured, is poorly reasoned(I have read the articles that justify the reasons behind it, they are fallacious at best), and puts the programmers focus where it doesnt belong.
  18. Emphasis on learning different programming languages
  19. There is very little time with modern design and programming tools, such as debuggers and IDEs. Although fundamentally software engineering students should be able to work without these tools, these tools make much of the work faster, and thier use in the industry is widespread. It does a great disfavor to the students that these topics are not covered at all.
  20. I feel like the program is to scattered out. You end up taking classes over a 3-4 year period that really have little to do with each other. This can be a problem in CS because the school is trying to cover to many aspects of the field. I feel like a little more effort could be put forward to unify the class. Even a simple reference in a lecture like, And this regular expression should look familiar from CSE XXX. So many times I feel like none of the teachers talk to each other to see what they are actually teaching the kids. This becomes a problem because one teacher will focus on one aspect, while another will focus on another. But when you go to the next class down the line all the new professor sees is that you took CSE XXX and really has no idea what you actually learned. Also I think you could do a way better job of helping or at listing ordering class so the students know what pre-reqs they need or will need to take a certain class. I spent 90% of my scheduling time being pissed and looking up what class I wanted to take in a year, just so I knew now what classes I had to take to get into it. I know you list pre-reqs, but many pre-reqs have pre-reqs. For god sake we are cse students, somebody should write a search algorithm that figure all the pre-reqs you need to take a class. On the same line it would be helpful if made students in their 2 or 3 year kind of pick a path through the department. I didnt really know what classes I had to take to graduate until about 4 quarters left. This kind of left me out of taking any really fun class or even class pertaining to what I want to do (the whole reason I went to college).
  21. Lab work in mainstream programming languages and frameworks and exposure and training in contemporary development environments and debuggers.
  22. I feel marketing/communications and/or additional business-related courses should be required in the curriculum for all CSE options, not just the information systems option. I believe CSE 616, in particular, is very applicable to real-world CSE/IT practice, and similar soft skills are important in interacting w/ colleagues & clients in business.
  23. The Resolve C++ language is a novel concept but has no bearing on the way things are or should be done in industry. It would be more practical to give students a working knowledge on languages like C# and upcoming trends in introductory courses rather than a homegrown language no one will use.
  24. More projects that reflect real world problems, more classes on tools (Visual Studio, Eclipse) which are manditory.
  25. I feel that the RESOLVE sequence is taught when very few students have a decent understanding of basic programming, and the combination of that lack of experience and dealing with the new concepts causes many students to be very confused. I feel that it would be much better to require more than just CSE 201 before taking them, as many of the C++ details which are so prevalent in 221,222, and 321 only serve to confuse students and severely hinder learning.
  26. There needs to be more courses dedicated to people who want to pursue a career in Network Engineering. That said, I have observed over the past few years more and more courses in this field, but perhaps an option suiting this would be helpful. I would also like a formal process to be made in regards to Examination credit. I was denied the opportunity to test out of a course that I have been working in the field for 5 years on, simply because the course coordinator had never heard of EM credit and was unwilling to discuss the issue. Unfortunately, I was unable to go any further with it since there was no official process.
  27. I felt almost as if my first year and last years were the only ones that affected me to a respectable degree concerning my major. The FEH program was excellent and definitely is a great way to start off the learning process for engineers of all varieties. However, I would like to see there be more of a variety of choices as to GECs that we are required to take. Moreover, being told that as a software developer I must take an electrical engineering course that will in no way benefit me except in the area of problem solving needs to be adjusted. There were other courses that I could have chosen in replacement that would have helped develop me in the areas of problem solving while also enhancing my skills as a software developer.
  28. Building a basic skill set to be able to learn the important concepts of computer science with out the challenge of gaining the skills at the same time as the concepts. Up to date systems that run and use current operating systems and other programming tools such as editors and compilers.
  29. A multi-disciplinary project would improve communication skills. Being able to convey CS ideas to non-CS coworkers in the workplace would be a valuable asset.
  30. Less courses outside CSE department, for example, ME 500, ECE 320, CHEM 121, and some GEC. It may seem interesting, but in reality, not useful and distracting.
  31. A much larger focus on development environments and languages. Ive had object oriented practices drilled into my head for years now and it never gets any more useful. Ive had tons of random requirements that have nothing to do with CSE at all. Get rid of the GECs and half the random engineering requirements and replace some of those with classes on programming languages, environments and implementation methods. Theory is useless without practical application. So, in short, the single change Id like to see is curriculum revamp
  32. I dont think there is enough exposure to current and upcoming technologies and paradigms used in industry. Im not sure how easy it would be to incorporate classes about this into the curriculum, since these types of things change all the time (which probably explains the focus on fundamentals and theory). Exposure, and deep understanding of fundamentals and theory is very important, but so is understanding the current state of computer science in the real world, and where it is going.
  33. I would like to see more experience working on a simulated real-world project. It would be nice to get involved in something that is less theoretical and more practical with regard to what students will encounter in the workforce.
  34. Computer Science is *NOT* an engineering discipline. Computer Science is very much a craft, and a young craft at that. Computer science students need mentors to expose them to the tools of the trade. The CSE department has utterly failed to teach even the most fundamental of programming languages, C, and therefore has failed to students seeking out mentors in their craft. The CSE department should *teach* C. Forget resolve. The department should then require the use of C throughout the entire curriculum. Once students master the C language, theyll easily master any modern language. The department needs to become much more consistent in this respect. The shocking truth is that most graduating CSE students I know cant program well at all.
  35. I wish the high level concepts of programming and software design were explained earlier, so that group projects in lower level classes could try to use the software models. I see how RESOLVE tries to teach about requires and ensures, but at the time it just seemed like a useless hurdle that I had to make sure I jumped over, not like good programming practice.
  36. Make sure to higher teacher that can teach the students, many of them have a great knowledge however some of them dont have teaching skills
  37. The quality of some of the professors and/or their teaching styles. Taking a course with one professor versus another might mean learning everything versus learning nothing.
  38. There is a huge gap between regular courses and capstone courses. More regular courses should focus on learning and using real tools. Taking technical electives earlier should be urged in order to allow fuller exploration of any given area.
  39. Id like to see students learning C or Java initially instead of using RESOLVE
  40. I would like to see more emphasis on the motivation and goals of software (and hardware) engineering. Specifically, I would like to see more practical presentation of the concepts and principles of designing software and hardware solutions. I feel that I was told what the desired outcome is, but very little practical advice on how to reach that desired outcome.
  41. Curricula tailored more to students desires rather than having an enormous list of required courses. It shouldnt be the norm that students graduate in five years.
  42. CSE at OSU reminded me of high school. I felt like classes were taught to the level of the ~dumbest person. Easy material was covered pretty slowly. In other classes important material (which probably should have been treated in other classes) is glossed over for lack of time. There is a TON of overlap between courses that is completely unnecessary. I learned how to do twos complement arithmetic approximately 5 times in the last four years. This is not necessary. The CSE dept has access to state of the art technology, and this university touts itself as great because of the advanced research going on here. Undergraduates see very little of the spillover benifits. We learn to program (and/or design software / components, whatever) in a fake language, on servers that I estimate to be at least 5-10 years old. We then get hands on experience implementing database schemas on that same old unix system (keeping a Java SDK up to date is WAY too scary to even consider, apparently), using sybase. Sybase has a 3% market share if I recall correctly from my googling. Yeah, it was great in the 90s, and is what MS SQL is based off of - but find me more than 10 companies that use it and Ill give you a cookie. Also terrible is the fact that we focus on concepts (the excuse for why we dont use up to do ate techniques and technologies) that people graduate without even a passing understanding of basic things like tiered architecture. Favorite quote from a kid about to graduate this quarter, when referring to a diagram of an application using an n-tier architecture to implement some web services in a project where the requirements are likely to change and flexibility is really really important I dont get why we have to use all of this abstraction, I just dont understand it. So, to rephrase this string of complaints in the form of a suggestion - I think that motivated and intelligent students would be much better served by failing out dumb people and those who are not pumped about software engineering, teaching concepts fast enough so we can actually get some real experience working on teams on real projects, and upgrading the IT departments equipment / software more than once every 5 years so that experience gained here applies more readily to a future job and thus makes us more marketable and our education more valuable. Also, I think it would be quite fair for me to get my degree AND a refund of all the tuition thats been squandered in these last four years. Feel free to make that happen.
  43. There isnt a single change that could make this program not be terrible. Maybe to start, you should ask students what changes they would make beyond the single suggestion per course filled in the tiny pink boxes. I almost thought that this survey would actually ask me the kinds of questions that might lead to actual improvement, but instead I find a tiny textarea. Of course, the time for you to ask was before you, the College, and the University decided to instill such an extreme amount of cynicism to know that youre perfectly happy with the way things and would just assume not trouble yourself with change. Well far be it from me to upset your system. Im out of here in a few weeks and thenceforth it hardly matters to me how far you run the program into the ground. I could try to get you to fix things, but clearly its easier to tell everyone to go to Michigan than for you to listen to me.
  44. Less exam and final based courses. I did not learn by memorizing facts for a short period of time to replicate them on an exam. Base grades on projects and participation rather than midterms and finals. Also, computer science does not fit with the traditional examination model very well. I think the biggest change necessary is the way students are evaluated.
  45. More use/teaching of current software. such as J2EE, C#, .NET and others
  46. Think about trying to make faculty advisors more available, responsive, and just more personable. I felt uncomfortable going to the three faculty advisors I had over the years and just ended up going to the advising office.
  47. I would think that in this age of the internet we would have more offerings on creating websites and general web solutions.
  48. none
  49. Capstone course should be made a 2 quarter course with double credit worth... I feel the capstone course should be one where students have to deliver a product that is totally at par with Industry standards for which one quarter is too short.