Results Page for the BS-CSE Undergraduate Exit Survey, Answers to Freeform Questions, 2016-'17
Answers to: 'What single aspect of the CSE program did you find most helpful? Explain briefly.'
- I found the prevalence of larger scale projects for a multitude of courses to be very beneficial. I feel like I learned the most/grew the most through collaboration on large projects with multiple people.
- Project-based courses. They team you concepts in a hands-on style that very close to real-life engineering environment.
- Professors that genuinely cared about their curriculum and engaged students in class were much more helpful than those that were clearly just teaching on the side and doing their research in the forefront.
- Data mining/Advanced Database Management Systems courses. Learned by far the most from those classes and the material is very applicable.
- We have professional from industry to teach some classes.
- The labs. I benefitted greatly from having a problem to solve and a due date, but not a step-by-step solution. I think that is the part of the curriculum that is most like the real professional world.
- I found particular courses as very helpful. The most helpful classes in my undergrad career were CSE 3901, 2231, 5901, 3241, and 3461.
- The professors who were genuinely interested in helping students understand the material.
- I liked the way the CSE options courses are structured so that I could choose at any point which course path would be most useful to me.
- Advising staff is very helpful with any requests or questions
- Office Hours were always where I learned the most. Very rarely did a lecturer have the ability to both maintain the focus of the entire classroom while also teaching concepts efficiently. Often times it was easier to simply read the book than attend lecture.
- I found the classes that focused on coding projects to be the most helpful. This is hands on experience, which I think is the only way to really learn how to code. Theory and math only goes so far.
- I was able to take a broad variety of courses learning many aspects of computer science and engineering.
- Project based courses
- Many later classes taught what it was like to actually work in the software industry i.e. SCRUM/AGILE, version control, working with teams. I found these aspects to be some of the most helpful parts of the program while I have attended OSU.
- Capstone class and project classes. You need classes with real life examples or long projects. Theoretical classes where you dont code but talk about team-work are useless in my opinion.
- The 3901 web app project course was by far the most useful course I took.
- I found the advising staff to be great help when it came to deciding which classes were best for me to take.
- I really liked the ability to be able to choose courses that you wanted to participate in. I think these really helped me to find out a field of CSE that I enjoyed specifically.
- I found the advising office very helpful when I had specific questions.
- Student organizations for extracurricular learning
- Opportunities to develop software in such a way that it emulated the conditions of a real life work environment.
- The focus on the program was on high level principles and methodologies that can then be applied to specific technologies.
- The most helpful thing I have learned is always the knowledge of CSE.
- Advising is unbelievable. They were so incredibly helpful with my transition into CSE and my progression toward my degree. They are doing a great job!
- The introduction to various concepts. Each course briefly introduces concepts, and some have labs/projects related to those concept. I would like to see a deeper dive into concepts, even if more out of class work is required.
- I really enjoyed the specialization of classes, after taking Operating Systems 2 I knew exactly what I wanted to study in my other courses.
- Instructors are always willing to help.
- The Game Project course forced students to design and implement a functional game, but forced students to actually learn and apply real-world design and ideas to the project. Very few courses other an real world significance to their courses.
- The resources for finding a career/job were very helpful. I was able to get a job right out college along with internships.
- The few theoretical classes that were offered (ie Automata, MATH 3345, Network Security)
- The breadth of knowledge that i was exposed to. After graduation, i could easily relearn a piece of knowledge if i ever encounter its use.
- It taught computer science principles that applied to all programming tasks regardless of language/platform instead of focusing on specific technologies.
- The lack of a defined track to follow was helpful. It allowed me to explore and find what I was interested in.
- The abundance of team projects which resulted in complete, useful systems.
- Courses that allow students to work on larger scale projects individually or with a team. This allows students to learn how to adequately plan projects and helps see the theory we learned about in class put into action.
- The quality of the professors for graduate level classes.
- There were consistent themes throughout the courses, like analyzing tradeoffs between time, memory, etc. which were good to see because they got stronger and more intuitive with each semester.
- classes based on big group projects such as 3901, 3902, database, or capstone. I learned a lot about working with others as well as practically seeing how what I was learning in class can apply to projects.
- Variety of topics offered and covered that allow students to focus on what they want to learn.
- The breadth of the program. During my time I have worked on web apps to implementing hardware design and everything in between. Having some knowledge of this array of areas will be very helpful going forward.
- The mandatory engineering classes that involved coding at the beginning of the year
- I believe that the diversity of courses and quality of instructors in the courses in the CSE program was extremely helpful in my maturation as a student and as a CSE graduate and future Software Engineer.
- The most helpful parts of the CSE program, in my opinion, were the requirements regarding tech electives. Because I had to take courses in a variety of technical fields relating to computer science, I was able to eventually find the things that I am passionate about. As someone with little direction, I found it incredibly helpful to learn about a wide breadth of computer science topics by taking all of the different 3000 level courses.
- I found the Software I and II sequence to be the most helpful part of the entire CSE program. I learned a lot of very relevant information and built good relationship with my professors.
- The programming projects helped solidify the understanding of the material.
- I think that the Capstone course, as a whole was very well designed and was extremely helpful in my learning experience. I was able to use and apply skills that match just about every program outcome listed above as part of this course. Without something like that, I dont know if I could say that I really gained all of those skills.
- Well designed group projects, as they seem to give the most real world experience, and theres a lot to learn from other students outside of lecture.
- The range of topics covered; having the choice to explore different avenues of computer science, and kind of specialize in one, is a nice opportunity.
- The foundation and software sequences that gave me fundamental ideas and helps for following classes. The design for the degree is great and provides many hands-on opportunities.
- The most helpful thing for me was the advising office. Their scheduling guidelines as well as assistance with scheduling the correct courses were extremely helpful.
- The ability to choose technical electives instead of being assigned courses.
- Please ignore my responses for part 2 of the survey. I never sought out advising services by faculty or the advising office, apart from when I was locked out of signing up for a class. The CSE department is straightforward enough such that I never had to ask for help, and I was able to learn a variety of concepts without having to ask for professional help. With that said, I think the the strengths in our CSE program lie in the many amazing professors/lecturers who have either (a) a passion for teaching their students, or (b), a passion for the subjects that they teach. Ive had wonderful experiences with staff like Doreen Close and Jeremy Morris who simply care about the students they teach, and they dont test material like theyre out to get you. On the other side of the coin, professors like Anish Arora who are so deeply interested in their coursework that it draws you in also offer a higher degree of education. These are simply examples that stand out to me, but there are other great and amazing faculty in our department.
- The theory knowledge learned, able to apply it
- The capstone class was the best preparation I could have imagined for my internship.
- The networking, the career opportunities forwarded to students
- The aspect of the CSE program that I found the most helpful, is the problem solving skills that it teaches.
- The emphasis on group work. I had to work on teams in many courses and I think it has prepared me well to function effectively in a professional setting.
- The face the program did not force me into any given career field but allowed me to obtain a basis in AI, databases, networking, software engineering, computer animation, etc. That is what employers expect from University students. While they like someone with an intense understanding of one area and broader understanding of others, I personally believe if one or the other must be chosen the broader understanding should be preferred.
- I found the programming courses the most helpful because they were great introductions to understanding the language and how to use it efficiently and effectively.
- Passionate and Knowledgeable professors once getting into the more specialization based classes. This makes listening to a teachers classes more enjoyable usually.
- I was always able to get quick and helpful assistance with the advising staff.
- The quality of professors and researchers here at OSU. I learned more from listening to passionate professionals than any curriculum could.
- I think the project classes were without a doubt the most useful portion of the entire degree. The point of getting a degree is to find a job, mathematical analysis and GEs are a waste of time for this. Practical experience is a must and the only place where were actively engaged and graded on that is the project courses.
- The beginning software sequences did a really good job of developing core programming skills. Made it relatively easy to use those skills in higher level courses.
- Michael Fritz and Doreen Close were my favorite professors because they did not use powerpoint presentations. This made them actual good teachers who had to prepare lessons and not just read off of slides. It forced me to attend class and pay attention and I learned the most from their classes.
- Diversity of classes and core choices was nice. Some areas could certainly use some more choices but overall pretty good.
- The specialization program. I think it gives some focus to the undergrad program as well as a target for applying the skills youre learning.
- I learned how to adapt to learning new types of knowledge and figuring ways to synthesize new ideas and concepts from my course work.
- The courses where we actually did projects that applied what we learned in other courses. Essentially, the 390* project class and the capstone course.
- Great continuity through the curriculum; I felt the available / sometimes required courses hit all of the big topics I should know.
- The most helpful component of CSE program is its core courses. This is the foundation that differentiate us from other majors but working in the computer science field.
- Exposure to a breadth of technologies, languages, algorithms, data structures, etc.
- projects are practical
- The project based courses- CSE 390X and 591X. I think that project based learning involving actual coding is the most effective way to learn- and I think practical application of skills is the most important thing to learn.
- The core classes in the CSE program (software, foundations, systems) provided an excellent overview of software development and how to think about software.
- Students can pick their courses based on what they are most interested in rather than having strict course requirements.
- The software, foundations, and web apps courses. The advising office was always very helpful as well.
- A lot of the professors have done stints in industry, which really helps. Ive found that those who have only been in academia are less helpful on a practical level.
- Project courses - working on larger more realistic projects - these larger projects/labs should be incorporated into more courses.
- I liked how we were able to build real world projects using real world software.
- The project courses were helpful in learning how to work on a team.
- I found the project courses to be most helpful because they allowed students to work in teams to develop applications more significant than typical lab programs in most other classes, and this type of work was extremely helpful when talking with recruiters for careers.
- Proper coding formats and design principles. I can learn how to use a language or design a system anywhere but learning the proper techniques to design a maintainable system utilizing known data structures has been the biggest help.
- Capstone (i.e. industry-like experience). I have learned so much more being in industry for approx. 3 months (and being on a fast-paced, start-up like capstone project) than I have by taking the courses here. Yes, the CSE core curriculum sets the foundation for students to be able to learn more advanced concepts, but 97% of the (practical) skills I have and the tools I learned have been self taught and self discovered, respectively. Also, Jeremy Morris is an amazing professor and should teach every CSE course here. I wish I had him for most of my earlier courses.
- I am extremely impressed and thankful for the career services available to CSE students.
- Data structure overview and practice.
- The range of class choices which we have, there is always room for more, but I appreciate the ability to glance into many different areas of computing.
- I thoroughly enjoyed the project classes and felt that those were the most beneficial courses I had taken throughout undergrad. I felt that they prepared me the most for how companies operate in the real world.
- Choices of different paths with in the major.
- General comment: I learned more about the objectives above from work a lot more than I did from courses.
- The ability to take a variety of courses covering a very wide range of topics. I feel that exposure to a broad range of topics will help me in the future.
- I found that the core courses (Software, Foundations, Systems) gave me a great foundation and allowed me to succeed by building on these concepts.
- The project based classes were the most helpful. Learning theory only goes so far. Actually applying that theory is what made things click.
- Tuition was affordable and the college has allowable reputation to help with finding careers.
- Computer lab sessions with staff in early classes.
- Freedom to chose electives(individual path) regardless of long term plans.
- The Distributed Enterprise Computing class with Praveen Kumar was the best. It is the most like the real world. All other classes were so academic.
- I found it helpful that the curriculum overall was very cumulative in its structure. Each higher level class was strongly influenced by the teachings of the classes below it. This was very helpful in enforcing core principles and putting them into practice.
- Professors and coursework
- The staff advising office. Whenever I had trouble they went out of their way to help me solve the problem and make me feel comfortable. If it wasnt for them I probably would have dropped the major.
- Some professor really encourage students to come in during office hours.
- I thought the importance placed on software development in a manner that was like the real world was important. The amount of team work conducted prepared me for my work outside school.
- The one thing that probably sticks out most in my mind as far as this topic is the quality of professors. The CSE professors, with minimal exceptions, have been overwhelmingly fantastic. Theyre extremely intelligent and can explain things extremely well, and are extremely nice and helpful (or at least passionate). I would say overall, the quality of the professors probably had the biggest positive impact on my CSE undergraduate career.
- I believe the capstone will be most beneficial to me because it allows me to gain experience in operating with a real company to develop a software system for them.
- The project course (3901 for me) was a turning point in the program for me where I realized how far Ive come since starting here. It made me more confident in my abilities and I loved the artistic freedom and new friends I made.
- By far, the most beneficial class to my resume, professional developments, and skills as a software engineer was CSE 3901. However, it was almost too much information for a single semester. I think there should be more classes about Web Development.
- I enjoyed the CSE core classes that are required. I feel like they laid a good foundation for the rest of my academic and professional career.
- The individual attention I was able to procure from specific teachers. The advice I was able to get from specific teachers was invaluable.
- the later courses that allowed for more creativity in terms of the solution were significantly more helpful in giving the student a relevant and realistic experience as opposed to the early courses that poorly attempted to create an artificial environment in which students were limited in their creativity. Although these courses (barely) achieved their goal of teaching students fundamentals of computer science and proper coding principles, they stifled creativity and the realism of the material taught and tested was extremely limited. the courses later in the curriculum allowed for more creative solutions that more closely mimicked coding that might occur in a job
- CSE 2221, 3901, 5901 are very useful and well-prepared students for CS career.
- It gave me the skills necessary for my future career. Without this program I would not have received the training required to do my job effectively.
- How the courses pushed the importance of communication and team work, along with the diverse range of courses that the students could pick from. The two options in each category in the 3xxx level classes were useful.
- Learning about designing software to make code more efficient helped a lot in my internships. CSE3902 specifically. Would not usually take a game design class, but glad i did for the code techniques.
- The CSE program offered a variety of courses that were useful and were transferrable to the workplace.
- Some of the faculty and their help in every aspect of the CSE career.
- The strongest aspect of the cse program was the faculty and teaching staff, especially in the upper level (grad) courses. A lot of these professors were very knowledgeable about the subject topic and were more than willing to engage in meaningful discussion.
- Now that I work in the real world I think that I got more out of Software I & II with the stuff we learned and the languages learned and how it applies to the real world.
- Applying an engineering mindset to software systems. I feel that because I have a strong foundation in mathematics and theory I will be better suited for a career in software engineering than say a self-taught hacker.
- I spent a lot of time working on assignments and projects in Caldwell 112. It was nice that there are plenty of computers and space there.
- The single aspect of the CSE program I found most helpful was the classes which did not use java like Systems I and II, Databases, AI, Networking, etc. We get enough exposure to java in early Software, maybe just dont use OSU CSE components though.
- I guess a single aspect of the program has to be the professors. They teach you everything you know academically while working toward your degree
- advisor console
- n/a
- The Capstone design project is great. I took a few years off school before my final year for personal reason and to help take care of my father. Because of this I didnt really have any hands on real world experience in programming. Due to that, I was concerned about my prospects for the future, but thanks to the experience provided by the Capstone I feel more confident in my prospects, this doesnt mean im less nervous, but at least now I know I am capable of doing it.
- The beginning core classes that really laid the foundations of programming for future classes, I feel they were very helpful.
- Overlap of topics between classes and reviewing topics that were covered in prerequisite classes rather than assuming everyone remembers the information.
- The CSE junior project course, particularly the game design course, was very helpful in learning to apply software design concepts to a complicated problem and work with a large team to achieve a goal.
- The CSE program does a great job at providing students the tools they need to find a career in Software Engineering. That is done with adequate labs, software, and equipment.
- I found the variety of different classes helpful. It helped me to find which areas of the CSE field I was most interested in.
- The software 1 and 2 courses were the most helpful for me. Most of my interview questions were based on what I learned in these classes, and they helped me set up a solid base of computer science knowledge that allowed me to go forward with the rest of my studies.
- The professors that emphasized the importance of practical concepts or otherwise gave real-word industry advice
- Working in teams during the project courses. In 3902 I learned the most (real world skills) out of any course in the entire CSE program. I really liked this preparing for the real world course.
- Project courses and capstone because they offer the best experience for real world software development.
- graduate level ai courses. Dr. Davis, Belkin, and Wang are top-tier professors.
- Exposure to many different technologies and viewpoints from different instructors.
- There was a broad amount of subject matter. It allowed for an exploration of different disciplines. This allowed for a discovery of what in the professional world we wanted to focus on.
- The advising program
- I thought Foundations were helpful classes. They gave good insight to what data structures were like and which ones were helpful where.
- Professors passion, I found that overall professors wanted me to actually learn.
- The foundation, system and software tracks are required for all CSE majors. This is very important for both future job hunting and pursuing a higher degree.
- I found the more project and experimental courses, where students were allowed to act like they would in industry to be the best parts of the major.
- I liked how there was a focus on documentation and reading APIs, because in the real world, that is all there is. Being able to read and understand documentation for a language or a library may be one of the best things learned here because you were given projects and were forced to learn the language to solve the problem at hand.
- The breadth of courses available as tech electives that allow you to take a full schedule of things youre interested in.
- The project courses were fantastic at seeing previous course material applied in a very real way
- The single most helpful aspect of the CSE program that I found most helpful was that it provided a lot of team-based project courses that I believe helped better prepare me for the real world.
Answers to: 'What single change in the CSE program would you most like to see? Explain briefly.'
- The specializations need some work, primarily the software engineering specialization. Currently 3231 and 3232 overlap too much. I took 3231 first and 3232 honestly feels like mostly a waste of my time as a lot of the material carries over. This might have to do with the class servicing both CSE and MIS students from the business school. Either way, both classes could use some reworking.
- Courses on new technology tools such as Big Data analytics tools.
- I would like to see the option to specialize more and avoid some required classes that do not pertain to the specialization. For example those who are looking to specialize in AI and machine learning might avoid some low-level classes like ECE II, Systems II and add some more high level classes.
- Perhaps a class on developing large-scale projects. I.e working with version control, pipelines, build tools, test frameworks, deployment, continuous integration, etc. Maybe go over things like containers such as Docker.
- More sections for classes like ML. So hard to enroll.
- I would like more instructors to be professors who are there solely to teach students, as opposed to researchers who have other careers they would rather be focusing on or graduate students dealing with their own course work. These people see working with the undergraduate student body as a chore and are at best ineffective and at worst resentful of students and detrimental to the learning environment.
- I would like to see a course or courses dedicated more toward the concept of application development as an entire process. We had plenty of courses touching on individual pieces of application development but having a course actually tie those concepts together would be very helpful.
- N/A
- No comment.
- More focus on math/theory, more rigorous statistics requirements for the Artificial Intelligence track.
- Ive read a lot online and have seen that many of the top flight computer science schools have stopped teaching java and have switched to python instead. I think teaching python more actively rather than simply by letting students have the option of coding in python would be a good step. Students should also know how to communicate and interact socially. Most of my peers were very hard to talk to and very socially awkward.
- There needs to be more web development courses. 3901 was not enough web development at all. There should be a class that teaches Node.js, Angular, React, etc. I think this class should either be a core choice or replace Systems I. Systems I with the low level programing, specifically x86, seems pretty niche. Systems II material should be taught in Systems I, and then Systems II would be replaced by either what Systems I is now or a web development class.
- Emphasis on teaching/learning software design patterns
- Working closer with required out-of-program course offerings such as Math or ECE to create an optimal experience for CSE students.
- More projects, probably dont let people go on if they dont know the subject. They actually need to have an understanding or they will have just skated by. Also I feel like there are a lot of required classes that basically give you no choices in classes for the first 2.5 years
- Incorportion of foundational concepts in the upper level courses. Employers ask questions that mostly have to do with 2nd year concepts so itd be nice if that stuff was mentioned again in higher level courses
- I wish there was more of a push earlier in the program to explore higher education or other similar opportunities and what you need to do to get there.
- I thought that sometimes the same course would be extremely different among different professors. As a result two students who had two different sections of a class sometimes would not have similar homework assignments even though the class is supposed to cover a specific number of objectives.
- I would like to see more emphasis on the importance of internships early on for the underclassmen.
- Teach Git instead of SVN for starting!
- Not sure.
- More required software development projects, such as capstone classes that offer real-world experience except at an earlier point of the program.
- Department of CSE should have more attention on students feedback on professors and lecturers.
- Dont teach Software 1,2 the way you do. At the conclusion of those classes, we as students are told that we know java but we have only been using custom osu java classes and have little to no experience with actual java. Finding internships early on in my academic career was difficult and employers found this way of teaching java strange.
- I would like to see more direct connections to code in all courses. In the current set of courses, there is discussion about ideas and concepts, but little to no connection to application. I would like to see concepts connected to coding projects more than wrote assignments and exams.
- Maybe a buddy/mentor program for freshman, this way they can have additional resources to help with whatever issues they run into.
- Less theory. More practical knowledge!
- Remove the Software 1 and 2 use of OSU Components since teaching students these backwards components hurts their learning of Java. Honestly, the entire series was extremely unhelpful, but the use of the Components was the worst aspect.
- More emphasis on object-oriented programming from an early stage.
- The lack of theoretical classes that we took as students of CSE. There were very few classes that I feel challenged me to think in a new or novel way.
- I found Foundations to be exceedingly important. However, i dont think i got to fully appreciatte it since I just learned the mathematical basis for it(and thus was unable to see how directed acyclic graphs or some other algorithm and data structure could help me). Perhaps it would be better to make 4 classes, that is, (software+foundations class 1-4) so we could have integrated applications of foundational algorithms.
- Teach git
- Put more emphasis on some of the tools and software that you are likely to work with in a real job. Not much of that experience is provided here.
- A stronger emphasis on industry-standard best practices in courses which are focused on the software engineering specialization including testing and documentation. While courses such as capstone (5911) and the 3231-3232 series encourage best-practices, it would be helpful for all courses from software I through project courses (390x) to require testing and documentation at appropriate levels for that point in the students curriculum.
- An emphasis on actual application and implementation of algorithms and design philosophies in larger scale projects. Not many classes offer this. Many of them only focus on the abstract and theory level concepts.
- Better organization of coursework across courses (i.e. I am in 4 classes and have 7 different programming assignments all assigned and due in the same month)
- I would like to see more variety in terms of getting a chance to play with newer technologies. It might be difficult to get people to teach that, and a lot of that does fall to us to experiment outside of class if were driven, but it would get a lot of people more involved in that.
- Add a few short labs to classes that dont have any. For example: foundations 1/2. I think it would just be nice to see how what we are learning applies and see how to apply it.
- Less focus on mathematical/statistics-based classes, as this does not frequently come up in industry-based jobs that a large percentage of students are likely pursuing.
- The software courses should focus more on java libraries and data structures. It is difficult to call yourself a java developer without having spent time using the core java libraries, not the CSE libraries.
- More capstone options, it seemed i would have to develop an application(which i did not want to do) no matter which capstone i chose.
- I would lessen some of the requirements for math courses (in particular Discrete Math, Linear Algebra, etc.), as a large portion of these courses is covered elsewhere and anything that isnt has been unimportant to me. These requirements removals could allow for students to take more important classes in additional CSE technical electives.
- I would like to see more support for students who are new to the world of computer science. I started by taking an intro to Java course, which only partially prepared me for the things that I learned in the software engineering course sequence. Essentially, I believe I would have gotten a lot more from those courses if there would have been more courses that explained the foundations of computer science.
- I would like to see faculty that care more about students and teaching and less about their research.
- Removing instructors that are unfit to teach and rewarding good instructors.
- I found that certain courses were very difficult to schedule because of the very high number of students on the waitlist. Others were always available and very easy to schedule. I think that certain, popular courses should be given more offerings to balance this out.
- Better professors. Many professors seemed unfamiliar with the topic they were teaching and were just running of a hardly modified set of powerpoint slides, often adapted from other professors outside of OSU. I feel as if most of my learning came from outside the classroom.
- A better focus on diversity and communication. The CS industry suffers from diversity issues (both gender and race); having a course requirement, or even a requirement during the survey course, that involves learning about diversity issues, how to identify them, and how to help fix them, would be very beneficial for the program and the industry.
- I would like to see extra space for graders to hold office hours. I graded for a class this semester, and the current room is often quite full so that I sometimes dont have a seat so if students come, they are inconvenienced.
- Make it available for students to distinguish the path they want to pursue early on. Educate them about it.
- To be honest, this may not be striking the heart of the problem, but there are definitely some lecturers who are not the greatest in terms of educating. Its gotten so bad to the point where the content of some courses is markedly different depending on who teaches the course. Im extremely unhappy with my experience in CSE 3231 right now, and had I known who was teaching the course, I would have taken something more practical instead with a different lecturer, and as a result, I wouldnt feel like I was wasting my time and money. As we are students who have to pay for our own education, it seems rather unfair to hide who is teaching what for courses in BuckeyeLink (I had this experience signing up for SP17, so Im not sure if this has changed as of now). Maybe the root of the problem is cracking down on the bad course material, but this is a symptom for which Id like to see change in the future. Apologies for the lack of brevity, but I think this is also something we need to take into account, especially when we factor in faculty who come directly from industry (Systems I, Data Mining, Capstone, Project:Interactive Systems) who have a much greater passion for the classes they teach and offer a higher standard of education as a result.
- focus more on realistic projects and technologies such as web development
- More focus on learning traditional Java in the software sequence would be a good thing to consider.
- Nicer facilities
- The biggest change that I would like to see in the CSE program, is how Software concepts are taught early on. I believe that the way material is presented in the Software I and II classes should be revised.
- The effectiveness of professors. While I encountered several amazing professors in the CSE department, I also encountered many who quite frankly have no teaching skills. They present material in a mechanical, boring way that is not effective and simply does not get students engaged in learning. If all professors could develop their teaching skills and be at the level of Doreen Close, Paul Sivilotti, Mike Bond, Jeff Jones, Han-Wei Shen (off the top of my head) future students would be a lot better off.
- Software 1 & 2. I remember nothing from those courses because between the fake Java and the heavy structuring with little explanation + focus on documentation methods nobody actually follows -> nothing from them proved to be of any use to me in any of my later courses.
- I would like to see more money put into the department so that more classes can be offered that students are interested in taking, taught by teachers that are actually experienced and knowledgeable on the material being taught.
- I would like to see more funding being funneled into the CSE department. As we move in to a more technologically advanced world the future of the world is in the tech. When the education is only sub par OSU will fall behind as will many generations of its graduates. A higher quality learning environment will produce better more prominent alumni. When the computers in the dedicated CSE labs barely or sometimes cant even run their students graduation projects there is something inherently wrong. This suggests that the school does not help students learn, but rather hinders their education.
- I think courses should be more standardized instead of leaving so much up to each professor. Students should pick the course section that best fits their schedules instead of the one with the best teacher.
- The CSE program is grossly dragged down by how bad the math department is. I have issues with how important subject likes linear algebra and vector calculus are to my areas of interest so late in my career (senior year), and how poorly I was taught them freshmen and sophomore year. Every CSE 5000 class Ive taken: I assume you were taught eigenvalues properly, so heres some dense theory on them.
- Better instructors quite bluntly as well as a better focus on preparation for industry rather than academia. Too many instructors can barely speak the language and with upwards of 40 students in a lecture, this becomes a large problem. Not only this, but there is little to no engagement of the students. Reading off a slide deck is something I could do on my own. Too much red tape was required in this degree program and instead of a focus on the needs of the student, there was a focus on the ego of the teachers. I would not recommend OSU for learning CSE, I would recommend youtube and spare time. You would get a better education.
- I think the program could require more diverse coding skills. I became very comfortable with C and Java because I was able to use those in almost every class. When I got to the Capstone course and was required to use many languages and frameworks I have never used, I felt like I sank rather than swam.
- Project based classes that have larger long-term projects so that students learn more and have something to add to their portfolio at the end of the class.
- SEIs dont feel like they matter. I know of instructors who receive consistently bad evaluations from students and they still teach the same courses, the same way with seemingly no changes.
- More practical (as opposed to theoretical) coursework. If I had a dollar for every CSE Senior who is about to graduate but cant use git, set up a build system, or compile his own code outside of Eclipse... well I could probably buy a very nice used car.
- Less Powerpoint presentations as they are not easy to learn from. Discussion and engagement in the classroom increases attention and helps the experience overall improve.
- More application of skills, more focus on new and trending technologies, more exploration of career options in Computer Science in the earlier years.
- More informal learning / student buzz - see the hack.osu.edu / OHI/O program !
- I would want to see more up-to-date electives showing up.
- Better selection/preference on which teachers teach certain classes. I have had way too many classes where I can barely understand an instructor or they cannot explain the material well and I just learn it on my own because I have to. I paid to have a teacher actually teach and I end up teaching myself because they are not good teachers. They may be great at research but that does not mean they can teach.
- less GE course
- Focus more on practical applications of skills rather than theory. So for example, in the databases course focus much more on writing SQL statements and understanding how SQl works than on less useful things like ER diagrams. A great example of a very well-run course (in my opinion) was Principles of Programming Languages with Neelam Soundarajan. The class taught a lot of theory- but it focused heavily on applying this with the Interpreter project and the Lisp projects.
- The software engineering specialization classes could use some re-evaluation or revision to a less repetitive and more cohesive structure.
- Many courses in the BS-CSE program were very focused on individual work and strongly discouraged team work. Courses should focus more on team oriented work or allowing students to help each other on assignments since that is typically what the work force is like.
- More project courses, those taught me more than all my other classes. I really liked web apps, but there wasnt a more advanced version of the class for me to learn more.
- Compatibility with a Math minor would be superb.
- Better equipped faculty - some graduate student professors or adjuncts are AWFUL. You should require some teaching experience or class before throwing them in, and more oversight from course coordinators.
- The professors can be very unforgiving to difficult circumstances to the point of zero tolerance or any assistance. I wish the professors had more compassion and kindness like professors Kiel and Close. Many teachers forget we are human and have lives too, which I really think is a matter of laziness on their part, since it would take work to accommodate students. An example of this policy is that many courses have the policy of fail the final fail the course regardless of past results. Many teachers are outright cruel and mean.
- Consistency between different sections of the same class.
- I would like to see more real world applications discussed in more classes. Currently it seems that some classes focus on real world applications of computing while others focus on theory. I would like to see this become more distributed, where all classes discuss a depth of theory about their topics, but at some point they also talk about how this theory affects modern day computing, and how students could encounter these topics in future careers.
- Coming in with zero programming experience I found myself lost/over my head in certain classes to which I met all the prereqs for.
- There is a huge disconnect between academia and industry, and it shows (quite glaringly) in the CSE curriculum. Even project courses like, Web Apps, are focused on ticky-tacky, trivial tidbits of information, and base their course grades almost entirely on written exams (not the project, like the course title seemingly suggests).
- I think there is a glaring technical shortcoming of the CSE curriculum. Almost all professional programming in industry makes use of third-party code, but outside of Software I/II, there is absolutely no curricular emphasis placed on the use of libraries/frameworks/external code. This has a direct impact on the quality of work CSE students are able to achieve, as I have perceived in my capstone course. Without knowledge of external frameworks and the larger software ecosystem surrounding our project domain, my peers for CSE Capstone were willing to re-invent the wheel so to speak. This is a phenomenon Ive seen throughout all the group project courses Ive participated in.
- Its out of tune with industry and the beginning coursework was painstakingly long before we had the opportunity to explore in class, with professors help, how to program things for industry. All of that had to be done outside of class for me. Having the chance to do technical interview prep or build out more elaborate sample projects would have been very helpful.
- I would like to see more options on the UI and innovation side of technology, or making students more aware of options in this realm of computing. It was only after my summer internship that I saw possibilities here, and many of my colleagues reported that within their computer science curriculum they have opportunities in these areas.
- Consistency among professors. I had to retake a CSE class because I had a terrible professor the first time that I took it and when I took it the second time I actually enjoyed the class because I had a much more effective teacher.
- The GPA requirement is a little too high, also the software series need to be bought by better grad students, not awkward ones or weird students.
- Tenure/Professors/Researchers Any professor that I have had that was tenured was awful because they no longer deemed it necessary to care about student performance. Researchers should not be forced to teach because they in general are awful at teaching because they dont even want to be teaching. They are there to research. Let them. Hire skilled professors that are not just good at their subject, but professors that are skilled teachers of their subject. I felt like I wasted a lot of time and money towards a piece of paper more than not with several professors that I had. Also, far too many group projects. I love working on teams, but some students have to work 32 hours from two jobs and attend class full time. With multiple classes requiring group work outside of class, it is a major burden. I understand making sure we can work in teams, but I am paying the university for an education whereas in the work force, I will be paid to work on teams. That is the difference.
- For a major thats called Computer Science and Engineering, I think there should be more of an emphasis on what that actually means. There are really two vastly different topics taught in this major: Theoretical computer science and software engineering. I think it would be helpful to address these topics as separate topics, and differentiate theory (computer science theory (math)) from practice (software engineering/programming). In my opinion (limited as it may be) I think that the muddy way both are combined right now does not allow either to go into as much depth as they should. I dont see any value in writing code in a Foundations class, and the mixture of programming notation with mathematical notation leads to a sloppiness that detracts from the theory. Tangentially related to this, undergraduate research engagement in the department frankly is almost nonexistent. Incoming students should be at least made aware of, if not encouraged to participate in, computer science research efforts within the department. I am not counting the emails from other departments asking for an undergraduate research assistant to do excel work or database administration.
- The one thing that bothered me, Im pretty sure was already changed. All of the signal processing ECE stuff that was immensely painful and not at all useful, shouldnt be required. The discrete logic stuff is already taught both in Math 3341 and CSE Foundations anyways. But Im pretty sure the ECE class requirements have changed, so hopefully thats better now.
- A small background in ECE is important Im sure, but the ECE classes we had to take were completely useless. They should be ECE courses tailored for students learning software.
- More focused curriculum, allowing solidifying of concepts rather than broad examples.
- I would like to see more classes in computer labs. I personally learn from doing more than from listening to lectures. Combining lectures with lab classroom time would have helped me to learn more easily.
- Better professors. Classes were defined by how effective the teacher was and some classes that covered more important topics did not have good teachers
- More classes like the Distributed Enterprise computing class. More project classes and less exams would be beneficial to all.
- I think as of now the balance between conceptual/theoretical practices taught and real world application is about 80:20. Having some internship experienced made me realize i was extremely under-prepared for real life work. The balance should be closer to 60:40. The majority should still be conceptual but more emphasis should be placed on teamwork, development and business practices.
- Better advising response times and more availability
- I would have liked to have been able to take classes what were more specific to certain machines. To learn in depth about a single operating system, or machine instead of a general overview of the most popular ones. In a way maybe have a class focusing solely on current technological accomplishments.
- Standard exams throughout all the courses
- I would like to see more guidance in searching for a real world job in a personal way. I felt like I was alone sometimes.
- More individualised/active (less traditional/passive learning), and/or a more realistic environment. As great as the professors were and as willing as they were to help the students in general, Ive always had the personal dislike of the Lecture format of learning. While Ive seen what seem to be wanting to make an attempt to do things differently in a more active and student involved learning, away from the idle show up, sit down, say nothing and purely absorb the professor talk for 55 or 80 minutes, then leave, Id be extremely willing to bet that there are much better/more efficient means of learning within a classroom structure. The other thing, the things I only slightly agreed with BSCSE achieving being the non-technical stuff, and I noted letter k, practical use of the engineering tools and techniques. While its a good thing to stick to the technical stuff, the BSCSE program could apply overall apply the technical stuff to broader areas a bit more. I like the experience Im having with my 5911 Capstone project, and am noting how its a new experience, aspects of which (not necessarily the working with a sponsor, but the freedom to work on what you want, as well as putting forth a legitimate effort to solve a real world problem) are things I would have liked to have done at least a bit more throughout my BSCSE career. Related to this, in our classes we learn how to use various tools and how to do certain things related to the topics we learn, but I think theres a disconnect between the tools that we use for our classes, and the tools and frameworks and whatnot that are used in the real world, and being forced to use some of the most recent and popular tools and frameworks for some assignments (even if its just playing with them) would likely be advantageous.
- Ongoing reinforcement of the lessons learned in the early classes would be nice.
- CSE 3231 and 3232 are too similar and I felt like both of them fell short. Both seemed poorly organized. Assignments and deadlines changed frequently, assignments didnt seem to be well made, and instructors gave little to no feedback. I think the material is very important but I dont feel like I gained a lot from taking them.
- Less Theory, more classes that teach skills employers are looking for such as the different aspects of web and mobile app development.
- I would like to see the software engineering classes more unified and restructured. My experience with those classes have been somewhat confusing and as the only class that gives this information I would have preferred it be more clear.
- Teachers who want to teach instead of teachers who are just here for research. There are some remarkable teachers in the CSE department but there are far too many teachers who either dont care about the students understanding or are just ineffective at communicating the information. I think from SEI evaluations it should be blatantly obvious who these professors are. If there could be a shift to lessen the amount of classes these professors teach or eliminate their teaching entirely the program would benefit greatly from a student understanding perspective.
- more courses based on real-world scenarios, such as the project courses (3901 etc) and less courses based on artificial scenarios where a very limited number of right answers exist and there is no room for creativity on the part of the developer, like there would be in an actual job. in other words, the courses dont seem to sufficiently prepare students for their career but instead focus too much on the technical and theoretical aspects of coding
- Given students the staff options before the start of course selection. Reduce the difficulty of exams to make it easier for students to get high GPA. Avoid teaching students outdated techniques such as SVN on CSE 2231. Should use Git.
- There are not enough course sections to accommodate all of the students who attempt to enroll in various courses. Early in my degree, I was consistently placed on wait lists for classes that were required to progress with the major, and needing other students to drop the course in order to be able to take the class. Changing to a different section would not have resolved the issue, since those sections were full as well. Dropping the class was also not an option, since this issue affected the systems and foundations courses as well, which were prerequisites for future courses, so a delay in them would delay future classes as well. Fortunately, either enough students would drop for me to be enrolled, or another section would open for me to take, but this was a regular problem throughout my freshman and sophomore years.
- A focus in diversity and increasing awareness of these issues in the community.
- I would like to see more code design. The theory stuff is interesting, but I do not see much of that in the real world career wise.
- I would like to see more CSE courses in the areas of big data and data analytics, because I believe the courses offered currently cover a small portion of those areas.
- Better communication between the advising office and students. I had conflicting answers from the advising office about some of my requirements.
- I would like to see more challenging coursework and projects in order to better test our understanding of the material
- Make Capstone optional if you have a internship to take the place of the class. I got nothing out of capstone because I have worked on a Agile team for a year before this class.
- Increase course selection for modern technologies. There are some really cool software/hardware tools in use today that I unfortunately had to pick up on my own. Also, an increase in number of sections per class would have been helpful as I couldnt take some classes because they were full.
- I felt that the required ECE courses were unnecessary. Maybe take those out and require CSE 3421 instead. I took CSE 3421 and ECE 2000 at the same time and some of the topics overlapped.
- More real-work applicability for the courses and curriculum. The courses focused too heavily on abstract, theoretical parts of computer science, which in no way prepare a student to actually work as a software engineer.
- More course choices, or choices that are said to be offered actually being taught. Some classes were said to be offered but have not been taught once in semesters.
- improved advising. I think it office hours were emailed and advisors responded to emails, things would go a lot more smoothly
- More activities with grad students and professors.
- n/a
- During my time attending OSU I have experienced the quarter to semester transition, as well as taking a few years off so this may not be as accurate as I think it is, but it seems like all almost all of the higher level courses (5000 level) want to do final projects, and I can understand why; however, and I know im not the only person in this position, stacking on 2-3 final projects on top of the capstone basically means I have to sacrifice the quality of one in order to get the rest complete. I guess I would say either make it more aware that these classes will have large final classes or find a way to better mitigate how these classes are dispersed throughout the curriculum. As an undergrad I had enough difficulty getting into these classes as it was, I didnt really have any control over when I could take them. Like I said this may just be a very rare circumstance problem, but it is a problem I am encountering.
- make more options for the group project class, Im not really interested in web apps. But didnt have any other choice.
- A dependency graph of classes for the major and their prerequisites published online and provided to CSE students.
- I felt like the use of OSU components in the introductory software courses do not provide a useful understanding of interface and class design in Java. These components also limited the use of Java collections framework, which students will use a professionals and the use of components that students actually will use in the future would be more practical.
- I think there are a few outdated courses. I wouldnt suggest firing professors, but re-evaluating courses like Software 1-2, Mobile Apps, Networking would do a lot to modernize these courses. My favorite class was CSE 3902 because it keeps up with the current trends in the industry.
- I would like to see a unification of curriculums between sections of different classes. Oftentimes different sections of the same class have vastly different material and metrics for grades.
- I would like to have more courses that teach us how to set up project environments and get projects started. One of the biggest parts of each project it to set up a repository, testing, framework, etc. and its very hard to get everything working together correctly. I feel like this was never really taught and we had to learn it from our own experience.
- The lack of professors is strangling everything good about the program. Its kept poor professors around, limited class options, and has made scheduling a nightmare.
- The bathrooms in Caldwell need to be cleaned up way more.
- Not requiring ECE because it is not interesting to me.
- SW 1 & 2 are complete shit. People come out of those courses more confused than when they went in. Ive heard over and over the goal of SW 1/2 is to teach constructs / ideas that exist across languages, and use Java as a tool for that. This is a good goal. Its a shame you never reach it. Heres 3 of SW1&2s problems. 1) bullshit math about pre-conditions. The thing touted in SW1&2 about mathematical notation to describe function internals, is you gain precision in how you describe what your function is doing. Anyone who can read the notation, can understand exactly what the purpose of your function does, with no room for interpretation error... With the caveats that realistically it takes 1) forever to teach developers the notation 2) forever for developers to translate plain english into the notation 3) forever for other developers to actually read & understand the notation. Basically, its a huge waste of time. Describing how the function reverseList() works by giving an example and some edge cases is infinitely better than the dumpster heap of notation that SW1&2 courses teach. Oh wait, thats what people do in real-world APIs -- they use English & examples. I wonder why. Next. 2) Exceedingly poor API design. Honest question: are you trying to make the worst API in the world when you design your OSU core libraries? You probably read that sentence and thought haha wow this guy thinks hes edgy no im dead serious. Because I think you legitimately succeeded. Heres why. So many times in the course, the professors of SW1&2 have slides saying heres some exceptions we had to make to our API design because of arbitrary restrictions that we placed on ourselves in the name of Good Software Design Principles (TM). Is it good engineering if youre constantly making exceptions to your principles? (hint: lmao, no, of course not, do better). Some things you teach are good (design-by-contract comes to mind). Other arbitrary principles are utter trash. I dont remember too clearly, but I think one time you made a Tree structure that was immutable? Like what. Stop it. To add an element to a tree, you have to re-create the entire tree from the previous one, with the new element? because that makes logical sense. 3) Projects. Im tired of typing, but the gist of it is, your projects in this class suck. The starter code sucks. Its designed poorly (if youre wondering how Ive come to this critique, please revisit point #2). Id rather code in straight binary than use your vomit inducing starter code. When people ask me if they should study CSE at Ohio State, I tell them theyd be better off inhaling the water from San Francisco Bay into their lungs and hoping some programming knowledge is transferred by osmosis.
- More hands on projects in the theoretical classes like foundations. Regarding advising, be more concrete in telling students the likely effects of choosing to take/drop certain classes.
- With the exception of CSE 3232 there did not seem to be a lot of classes that explained the business side of things any professional has to deal with. Maybe adding in a bit more professional type ideas into more classes?
- Start with git at the beginning, not a single business uses svn. You teach moderate computer scientists and terrible programmers, the lack of programming focused classes in a CSE major is disturbing.
- I would try to offer more full stack type classes. I feel like in the real world many CSE professionals need to know about more than just one part of an application. Also, I know technology changes quickly, but I think more exploration and usage of new technology would be helpful. Especially since employers arent normally looking for someone who knows C, but rather someone who knows Java, React, Angular, Scala, or just like MongoDB or some other nonrelational databases. I know the learning the bases is important but looking at new technologies and staying current is just as important, I think.
- A change increasing minorities in the program, a lot of white men.
- Set up a bigger computer lab for CSE majors and upgrade computer hardware. The computers currently in CS labs are really slow and outdated.
- I think with the modern state of software development, there needs to be 2 types of CSE majors. While the CIS program does eliminate some engineering courses, I believe there needs to be a more mainstream front-end/basic back end software development major that isnt as theoretical/math based.
- In the introductory software courses(primarily software II), for people who havent been subject to programming yet, it is very easy to get caught up in either learning the data structures you implement, or focusing more on learning java. I think there should be more of a focus on designing classes from scratch because in most cases we were given the class strucutre and just told to implement the methods for the desired outcome.
- Something to better filter out people that make it way too far into the program without actually learning anything. In every group from 390x to capstone theres been at least one (usually more) person that hasnt a single clue how to do basic things. recent example: 2.5 months into capstone someone asked how to run a single-class Java program with a main method from within the IDE.
- Abolish the requirement for research professors to teach. There is a very specific set of professors that almost every student in the department knows by name to avoid because their teaching abilities are below subpar. Thats not the experience that students should be having at this university. Hire lecturers that know how to teach effectively, and let the researchers do their research.
- I would like to see the beginning software courses immediately teach using real life software components as opposed to the OSU built components. This will help the learning process later on.