Free text answers on our May 14, 2025, engagement instrument

1. The team engagement practices that were both used by my team and useful to the project were:

Regular weekly meetings, both amongst ourselves as well as with the professor, and roughly bi-weekly meetings with our clients.

Weekly *IN-PERSON* meetings. We found a time we were all free (we had to pull the info out of some teammates...) to meet in person to discuss the project, tasking, personal events, etc. Face to face meetings also allow for an easier time calling people on their BS. Its easy to sit with a camera off in a virtual meeting and do nothing, but your actions are on display in person. Also purtilo is right get food with your team. Become comrades I promise it'll be easier that way.

We used Discord and Gmail messaging. It was helpful to have a space where we could casually check in, send updates, and hop on voice calls when needed. We didn’t always have structured meetings, but having that consistent line of communication made it easier to stay in sync and ask for help when someone got stuck. However, I wish that we stayed on discord and didn't move to gmail messaging, as Discord would make it easier to send files to each other, rather than with the MB limit that is on Gmail messaging.

We created a discord server with a channel called #daily-stand-up. Any work committed to the repo would need to be reflected with an update in that channel. We also created an overall Drive folder containing all of our related documents and meeting recordings, and delegated tasks at twice-a-week in person meetings so that everyone would generally understand what parts they were responsible for in the next week or so.

We would have both virtual and in person meetings weekly to discuss our tasks, schedules, and updates for that week. These meetings were very casual and we would often have food or snacks to eat while discussing our project. These meetings helped build a connection with my team and I. Frequently during meetings and after class, we would work together on the project in the same room just to bounce ideas off each other and keep everyone updated on progress.

We made sure that the majority of our meetings were in person. This allowed us to be able to better work together and coordinate problems that we had, as well as having us do our work in the presence of other people. Additionally, we made sure to have a weekly meeting, which worked great in ensuring that everyone was doing their work.

Our team created a Discord server to communicate and have group calls. We used this server to report bugs, ask questions, and coordinate with one another. Additionally, we held two in-person meetings each week to discuss our ideas and share any concerns. During these meetings, we would also create a document to outline all the tasks that need to be completed, to keep track and assign responsibilities to team members.

One of the most effective engagement practices was regular in person meetings. We would often schedule times to meet and work together so that we could hold each other accountable and be sure that everyone was working. These meetings were a little less formal and did not have a steady schedule. It was random and scheduled as needed. We also had a regular meeting schedule but this was over zoom. We had weekly scheduled zoom meetings for the team and to meet with the client. We also used google docs and google chat a lot. We used google docs as a way to have one document where everyone was working, especially for delivery docs, proposal, and outlining tasks to be done. All our chat was done via google chat.

Our team had a daily check-in (standup) that allowed us to update each other on what we worked on during the previous day, what we were planning on working on the next day, and anything that might come up that may impede our ability to complete work that day (e.g. exams, illness, technical difficulties, etc.). This constant communication between all of us allowed us to stay on top of the work that needed to be done, as well as notifying us when someone else would need to take over a task when the assigned person was too busy. We also had weekly in-person meetings to discuss tasks that needed to be done and often served as a working session. This allowed for spontaneous brainstorming for ideas and the ability to ask each other for help in real-time.

Team engagement that was used by my team were bonding outside of the project. At first the bonding of getting donuts and food was nice but it wasn't really anything that brought us together. Bonding over a specific thing we were all interested in was really what helped the team get going. For a few of us, it was a game called Clash Royale where I was able to bond with 3 other team members. However, nobody gets left out as Ryan introduced our team to a game called Baba is you where we all played and bought and this really brought us together. The more connected the team the better our project came out to be.

Multiple IN PERSON meetings every week were integral to our teams success. Meeting in person encourages engagement, keeps everyone on the same page, and can lead to ideas and discussion that discord calls or text conversations wouldn't have. It is also an opportunity to actually get to know your team and develop bonds. Becoming friends with my team made progress easier and more fun!

Lots of in person meetings early on! Discord can become more helpful later on when the plans are solidified and we're all just hammering out bugs, but the early planning stages need to be face to face.

Having weekly meetings in-person with the client enabled our team to get a better grasp of what the client wanted and tailor the product to their needs while also showing off the current build so the client is satisfied with the features implemented so far. Furthermore, having a follow-up meeting to discuss tasking and design assisted in us meeting deadlines.

Getting started early in project tasking. The three portions of the overarching project (proposal, CDR, and final delivery) all started by us coming together and discussing group member responsibilities and our timetabling. This will keep everyone on track, at least to a greater extent.

Bare minimum 2 weekly meetings (one at the beginning of the week, one towards the end). Mondays (on voice chat) we would catch everyone up as to what we did, what we need to do, how busy everyone would be etc. Thursday we would do similar, but in person (and with food!) actually spend time with everyone hands on with the project and do a sort of work session, whereas on Mondays we would just do admin level stuff and get individual tasks planned out for the week. Note I say bare minimum. We found after Dr Purtilo's class, some of us would just go straight to working in Iribe, so we had mini team work meetings as well. And on that note: KEEP EVERYONE ON THE TEAM CONSISTENTLY UPDATED. You'll learn probably on the first day, SE is an exercise in communication. Adding on, if you can't meet with the entire team, definitely still make the effort to get into smaller groups and work together

Another thing would be weekly/bi-weekly meetings with clients. Keeping clients and even Dr Purtilo in the loop, on a consistent basis, helps greatly from the beginning to the end... from requirements gathering to acceptance tests.

Consistent weekly meetings: even if we had nothing to talk about, meeting every week and doing work together aided us a lot. Client meetings: meeting with our client as much as possible helped us come to decisions easier and know exactly what was expected of us, and pivot if we were doing something undesired Clear division of tasks: each of us doing pieces and then putting them together made everything a lot more organized and made sure nobody could become overwhelmed

Weekly client meetings really helped to keep the focus of our project in line. These meetings also helped a lot with getting new ideas about the direction of our project, which changed a lot throughout the semester. Along with this, our client would give us feedback on weekly work, which served to both keep us accountable for getting work done and also assure us that we were working in the right direction.

Weekly check-ins. It is easier to hold people accountable in person. Get an idea of where everyone is at and if more resources need to be devoted to a task.

Staying organized and making a real effort to support one another were the most helpful practices. We had a shared Google Drive to keep our documents in order, scheduled regular meetings (both in person and virtual), and made an effort to communicate openly when someone needed help. Although not perfect, these efforts helped keep us aligned and on track

Meeting twice a week and using a “daily stand up” channel in our Discord where we said each day what we worked on.

Weekly team meetings at the start of the week (Monday night). This let us figure out what progress was made over the weekend, and what we needed to do for the next deadline.

Effective communication, doing the right thing, and working in pairs.

Planning in person meetings for massively increased productivity.

We brought snacks every meeting, met at least twice a week to talk about the project and work on stuff together, and had a group chat where we talked about the project but also other things! I had class after our class, but some group members would also hang out after lecture for a bit in the conference rooms in Iribe!

Seeing my team so often and staying connected almost everyday through our groupchat definitely helped us get closer and motivated me to work harder on the project. It also helped me trust them more; I knew that they would have my back if I didn't have much time that week, and they knew that I had theirs!

weekly in person meetings with the team. chat on discord with automated reminders for meeting time, weekly checkins. weekly reflections on mentoring site. become friends (have fun, talk, eat together).

My team organized bi-weekly in-person standups, one of which was with our client. During these meetings, we would work together in person, discuss anything we needed to related to the project, brainstorm, etc. Outside of these two meetings, we noticed that not a lot else was done during the week, so one thing we implemented later on in the semester was creating a standup channel on our discord server where we would message about what we did every day. Implementing that helped us see a lot more productivity for sure and it was definitely useful to know what the other members on our team were doing who directly working on what I was doing individually.

The weekly meetings with our client and the whole team definitely helped keep engagement up and made it so everyone was able to be held accountable for their work. Furthermore, the meetings allowed for team bonding and made communication infinitely easier.

I liked the Gallup Team assements done for the scrimmages.I feel like they were good insight into the individals and helped one recognize their own skills/talents. I also liked the two seperate grouping, one of the scrimmage group, and the second being the actual team group.

Team engagment practices that were useful to our project where: GoogleWorkspace chat, shared google folder; Shared Repo, VM; In person meetings, were the most beneficial as they produced accontabiity and forced people to work (or mostly) if they people attended.

Meeting with the team and booking a room to have a long problem-solving section in McKeldin was a helpful practice for this project. I brought donuts and panera breads to the meeting and we munched together. When we became friends, not merely project group members, we were able to emphasize with each other more and bring out the synergy. Even though there was no immediate progress that was shown in some meetings, the close in-person meetings was the most useful engagement practice we had this semester.

I found that having regular group meetings, even if the meetings weren’t about major decisions. It was really helpful. In some of my past group projects for other classes, we barely knew each other’s names. In some other cases, we never even met in person before the project ended.

But this course was different. We met in person regularly, usually once a week, and that made it easier to understand who each person was and how they worked. Even though it’s a computer science project, and technically just an assignment, at the end of the day it’s still people working together. Being able to see each other, talk face-to-face, and build that trust made me more motivated and more willing to contribute.

We had a DailyBot where we recorded what work we did the previous day, the work we were planning to do the current day, and any blockers we had (like exams in other classes). We also had at least weekly in-person team meetings outside of class, which was useful to getting everyone on the same page.

2. If I could make ONE change to CMSC435 to make it a great class, it would be:

I think it is already a great class, but there's always room for improvement! I think the biggest change I would make is for it to be longer / worth more credits - it'd be very cool to have this course span two semesters. I know that's not exactly realistic, though, so something more feasible is perhaps more sorts of 'scrimmage' activities throughout the semester. Not a ton, of course, as the main project takes priority, but there are some lessons in communication that might benefit from being reiterated.

Add an advice round for the scrimmages. My group had one member not show up at all for scrimmage 2 with no communication, yet claim credit on the cover sheet. Personally I felt it hard to call him out for this behavior since I was still getting used to the class, and while I still had another scrimmage to work with him on.

I think having more one-on-one check-ins with you would have really helped. Since there aren’t any TAs, it sometimes felt like we were just figuring things out on our own without much direction. Also, it would’ve been nice if we could choose our own team members and rank the project options at the beginning. I think that would’ve led to more motivated teams and better final projects.

A bit more specificity on what exactly is expected in certain tasks. Many people came into this class off of internships in 2nd and 3rd year summers, but I didn't. I wasn't aware of the level of completion/detail expected in something like a proposal, and early on it bit both me and my group for the scrimmage.

When creating teams, maybe have a student survey of what kinds of projects they would like to take on.

If I could make one change to CMSC435, I would like to have assignments to do more clear as well as the deadlines they may pose. I missed a couple of assignments due to not knowing we had said assignments, and while I recognize that was on me to do them, I also had no idea of their existence until now.

One improvement I would suggest for this course is to increase the number of credits this course is worth. I spent more time working on this class than I did on the other two 3-credit courses I took this semester combined.

I think the class is great, but if there was a prerequisite class that laid the groundwork for this class, it would give the class more time to build on that foundation and go deeper into core topics.

A calendar with deadlines would be nice. Between keeping track of the blog, the SVN, and what's said in class; it was often difficult to remember what was due when.

I think maybe more lab time and engaging the class moments. The class was most engaged when we had other students show up to demo their product and when the class is mostly lectures a lot of students doze off in a sense. I am not sure if this is possible or if this is even worthwhile to do but incorporating the lecture as a lab would be really nice and engaging. Students already show up because of the fear of having a quiz so a lab would be really nice.

More activities in class that allow the students to interact. I definitely got close to my team, but outside of them I did not really connect with many classmates. At the beginning of the semester, discussing our Clifton Strengths is an example of something that helped me get to know people better. I think more activties that encourage active discussion amongst the class would be beneficial!

This should be split into 2+ courses and made into graduation requirements. I get that CS is an applied math degree, but I believe the university has a responsibility to give its students the best shot possible. CS isn't a major where you can just graduate and fall backwards into a 6 figure job anymore. We all need to eventually break into a career, and this class is critically important for the path that most CS majors intend to take in life. This type of curriculum should be baked into the major, starting much earlier than senior year.

To understand about management a bit especially after the semester to know why the professor assigned specific students to work based on given metrics and how those metrics predict success.

Not much if I'll be honest. I don't have a lot of complaints about the class itself. The issues I faced during the project time were either due to a lack of skill or preparation on my end, or external circumstances outside of my control.

Ironically, as much work as the class requires, it could be cool to have 435 as a year long course as opposed to a semester (so perhaps final year students only -- sucks for future me's who take the class as a junior). I really liked the whole environment and SE process and think others would love to delve into it more as well. Maybe if there was a way to expand the curriculum her at UMD focusing on SE (perhaps borrowing from the masters program), but Dr Purtilo knows best. Plus maybe year long also means more harder projects :)

Individual grade portions of group assignments. I had a great time with the course overall, but my only real annoyance was when we had two group members disappear and do nothing. I think they may have felt that was ok to do because they knew we'd pick up the slack. I do think it's good to have it graded as a group, but I think you should reserve the right to slash someone's grade if you can determine they did nothing to help the group. This will prevent the thought of "I can do nothing and still pass because my group will handle it." The final exam does help with this, but maybe with some earlier repercussions they would have pulled it together in time.

Changing the main repo system from subversion to git. I think a major part of software engineering that is not really tackled much in other classes is the process of maintaining a version controlled project with a group of others, which inevitably comes with the tasking of choosing which files to commit as well as managing pull requests and merge conflicts. It was great having this experience throughout the class, but I feel that it would be better to use git since it is the industry standard, rather than having to learn a brand new system that we may not get exposure to later on.

Add a mock CDR. A lot of things don't break until u actually start to use them.

CMSC435 is already a great class. I really appreciated being placed in a group with people I did not know, because it pushed me to work with others I was not comfortable with or familiar with at first. It felt more like a real-world experience. The structure of the project is also something I found unique. Not many students at the University of Maryland can say they worked on a project like this. The only thing that bothered me was not being allowed to use GitHub. I do understand the reasoning behind this, but it still would have been helpful to incorporate a version control tool that reflects industry standards

Some parts of the class felt very rushed. More time spent on development would have been nice.

Have some sort of mid-project individual evaluation. This could help gauge who was doing the least work, and give them a reason to pick it up for the final delivery.

Nothing. I really enjoyed the class because I learned Software Engineering practices as well as how to effectively work in a team, manage projects, and apply concepts in real-world scenarios. The course structure was well-designed, providing a good balance between theory and hands-on experience. The feedback from the professor and teaching assistants was constructive, which helped me refine my skills. I also appreciated the collaborative learning environment, as it allowed me to gain insights from my peers. Overall, I feel well-prepared to tackle challenges in software development after taking this class.

More time to work on the project to produce a satisfactory result. ;-;

If I could make one change to CMSC435, it would be to have more opportunities to talk to more alumni and/or professors/professionals. It was really cool talking to the alumni when they came to class, and I liked listening to Dr. Purtilo talk about his experiences in the workforce. As a soon-to-be-graduated college student that is scared about the future, I really enjoy hearing about people's experiences in the "real world".

Have 1 day where teams can go around and judge/see how other teams are working, give feedback/advice and to reflect on their own work

One suggestion I would make is to give a short guide or talk about best practices using the Virtual Machine. It was me and my teammates first times using one and being so unfamiliar with it caused a lot of issues throughout the semester.

I think the projects need to be more... useful? I'm pulling from my experience looking at other department's projects from the capstone expo. Despite a lot of them not having clear clients, the research they do (under larger teams and more resources like you said, and a professional head like a professor) have way more presentable impacts, such as in healthcare and such. I don't think the projects we take currently can ever have the same sort of presentable impact, which is what is really important to the judges. The head of the ECE department was a judge there and he was ripping apart our plants project for not having more applications, and gave ideas such as, using computer vision to identify plant diseases, etc. Which clearly wasn't in the scope of our project (although an interesting idea), but it gives you the idea of what it takes to 'win' the event.

Of course getting that 250$ is not the end all be all, and the point of the event is not to 'win' of course, but I think adjusting the projects in this direction could also make them more engaging to future 435 students. Everyone wants to create something with impact, after all.

Group Strength Building activites in class (but out of the classroom) I.e. mini class trips to somewhere on campus, which required us to work together and accomplish a shared goal. Maybe even having a day at the Adventure Ropes course, the one where teams go (not the regular rock wall).

I think changing the lecture stucture from giving a lecture about things that are benefical to know, Create an enrivoment where those situations can arise, and be demonstrated and learned from, first hand. creating mini experiements or labs, where people have to engage and findout something or write out what they learned.

I feel like you are a wealth of knowledge, but without the current environemnt and stimulus, I feel like your true worth doesnt shine through clearly. I'd reccomend to change the class structure from people using their computers and working in class, to be performing active lab engagements or skill building tasks, to help people cement those important messages you share in class into their subconious by having the experience.

If I could make a change to our semester that just ended, It would be the ability to choose my own team_members for the Class project,and then the ability as a group to choose the project. As I feel I got shafted in the group makeup. And would have prefered to have a more interesting project.

I really wish the time we had was longer because the course was a great experience, but I think that I could have learned much more about Software Engineering if I was given one or two more months.

I know this course could never replace a real internship, but with internship opportunities becoming harder to get—especially for international students like me. I saw this class as a valuable indirect experience and gave it my full effort.

I often felt a disconnect between the lectures and the actual group project work. There were times when I realized we were applying certain concepts from class without even recognizing it, or times when I wasn’t sure what we learned in lecture was supposed to relate to what we were doing.

It often felt like the lectures were one thing and the assignments were another. I think the course could be even better if it made the connection between theory and practice clearer, especially if it showed how the concepts we are learning might actually apply in a real world job setting.

Shorten the scrimmage so we have more time to work on the actual project.

3. The one thing that most gets in the way of me doing my best work in CS (CE) here at UM is:

Low class engagement / interactivity. The reason I enjoyed this class so much more than my others is the same reason I tend to go to English classes more regularly and enjoy them: smaller class sizes make things more personable between students and the professor, allowing for greater engagement and interactivity throughout the class. It's less boring and it's more engaging. Giant 100 - 300 person lecture halls rarely beget good engagement. I don't learn well just being talked at. Those classes make me want to skip them (especially as a commuter) - smaller classes like this one or my English courses on the other hand make me want to come to campus just for them. It's night and day.

Combined workload of classes. For courses like this where the true credit value is much higher than you will receive credit for by taking them, trying to meet full time credit requirements in the form of other courses can lead to being overworked easily. Especially if you have hobbies and friends, it becomes incredibly difficult to tackle everything.

Time management is a big one, especially when I’m juggling school, side projects, and my own startup ideas outside of class. It’s easy to get sidetracked by things I’m more passionate about building. On top of that, it can be frustrating when some of the material feels outdated or when we’re restricted from using newer technologies that are more relevant today. That disconnect can make it harder to stay engaged with certain assignments.

Exams. I am terrible at writing code on paper.

Projects and work for other classes, I felt behind or like I was not contributing enough when I had to focus on work for other courses for that week.

I believe that the one thing that most gets in the way of me doing my best work in CS here at UMD is the amount of time I have to do said work. I consistently find myself running out of time to do the things I want to, and it leads me to getting frustrated, losing more time, and then the cycle repeats itself.

One thing that most gets in the way of me doing my best work in CS is the waitlists for popular cs courses. I have not been able to take some of the courses I wanted to originally plan, and I feel like this may have potentially changed the outcomes of my career.

While not the case in this class, I find that there is a disconnect between what is being thought in the CS classes and EE classes, which should be expected. But I think it is a problem. I see this as an issue because we are given the option, for certain classes, to take either the CS or EE version of the class. I took the EE version of a class which happened to be a prerequisite for the next class where I could take either versions. I took the CS version for the next class, and I felt lacking in the foundation I was supposed to have for that class. I think that is the story for most CE students.

As a CE, pretty much all of the courses I take are the most difficult course I'm taking. Finding the motivation to tackle challenge after challenge, especially when I usually am lost or confused in the class, maybe due to topic or lack of explanation in class, or even lack of resources to look it up, makes everything that much more difficult and often leads me putting off doing that specific task.

This semester, the one thing that really got in my way was interviewing. Although I ended up not even getting any of the offers, I spent a lot of time worrying about interviews and interview prepping. This didn't take away from me contributing and putting in effort for the team as being a liability to any team is my biggest fear. However, I feel like I didn't get everything I wanted into the class because of my other priorities. This makes sense, I definitely could've planned better, but overall the class was great!

Lack of explanation on how to bridge the gap between "knowing how quick sort works"/writing code to get the grade, and actually applying what I learn to real life scenarios. The software practices and algorithms should be a means to an end - problem solving is really what computer science is about. I feel like the program needs to focus more on how to use the skills and knowledge we learn here as tools to solve problems instead of purely academic exercises.

As a CE, my biggest complaint about CE is that it feels like there isn't much of a bridge between the CS and EE worlds. It can feel like a double major sometimes, and that's a shame in my opinion since the content truly does converge at the end. Perhaps this can be solved by running some dedicated CE classes. I was suprised to see that CS and EE both have essentially freestanding computer architecture/OS paths. (ENEE350->ENEE446->ENEE447 vs CMSC411->CMSC412) Maybe they should pilot a CE4XX line that combines these.

As a tangentially related sidenode, I'm going to speak for the CEs taking this survey five years from now. The university *needs* to be prepared for what their CS admissions changes will do to CE. Making CS functionally unattainable but leaving CE on the accessible end of LEPs will broadcast the incorrect idea that CE is an easier alternative to CS and that you should just go CE if you get denied from CS. This is setting people up for miserable failure. You will not have a good time here if you're not genuinely interested in the EE elements of the major, and we're not doing a good enough job of advertising that.

The lack of mentally stimulating projects. Most "projects" are just programs to mindlessly complete without any careful consideration of dependencies and design which are found in most real-world software. This void of no mental stimulation was only filled with the wonders of Mathematics (Sarkovski's theorem is the best), which led me to not engage with CS classes as much as I should of except 435 of course.

Unfortunately, during this project and other classes here at the University of Maryland, course load is a major problem that doesn't get talked about enough. There's a culture of always having to push yourself to your limit, even when you can't handle it. Make sure to be responsible with your work.

Overachieving is a big thing in CS/CE, so I would say other time commitments. I don't think I need to explain this, everyone taking this class probably get's it. On that note, definitely give 435 more time than other your other classes, and don't take 3 CS classes while taking this class.

Time constraints. With many different classes all vying for my attention, I sometimes struggle to put my all into each one. If I had started with CS and been a single major it would've been easier, but I started as math and then added CS a year in so I've been doing 3-4 CS/math courses each semester.

A lack of real deliverables that could stand-out in a resume or job interview.

Version control. It just doesn't agree with me.

The overwhelming course load. As a computer engineering major, I often have to juggle multiple computer science and electrical engineering courses at the same time. Managing subjects like data structures, circuit design, and signals in one semester can be a lot, especially when it is your first time learning them. This is probably less of an issue for CS majors, but for CE students, I believe the degree program is too dense and could benefit from some restructuring or reduction in workload

Not enough projects with practical applications.

Other classes...

The one thing that most gets in the way of me doing my best work in CS (CE) here at UM is course load. This semester I took 3 CS courses, including quantum computing and machine learning. Let's just say that it was a heck of a semester. There were a lot of times where I didn't contribute as much to the team since I was catching up with other classes. One thing I learned is to take CMSC435 when you have an easier courseload. Managing multiple demanding courses at once can be overwhelming, and it’s challenging to give your best effort when you're spread too thin. Moving forward, I'll try to better balance my courses to ensure I can stay fully engaged in each one.

Other classes pulling away time that should be spent doing the project due to the project pulling away time from those classes and you have to bounce back to finish up backlog in other classes.

One thing that gets in the way of me doing my best work is having professors assume that I will understand the content after they just explain it once in an unstructured way. I appreciate when my professors come to class prepared with the content that they are going to teach, and I definitely struggle more in classes where the professors do not seem to want to be there in the first place.

not enough time and energy (and not knowing how to rest - this made me more prone to burnout and work base on bursts of energy or constantly on low fumes)

The biggest barrier to doing my best work in the CS program at UMD is that instructors often fail to explain why the material matters. When I don’t see its real-world relevance or application, I end up just chasing an A instead of genuinely engaging. If professors don’t clearly connect concepts to practical use cases, it’s hard to stay motivated or care about the coursework.

Definitely my other classes. I'm a dual math/cs major, and whew the rigorous math courses here expect a lot of mental effort and time out of you. If I were to have a typical 'senior schedule' (like 12 credits with easy classes) I would've definitely been able to put in a lot more time.

Procrastination and lack of motivation (before deadlines approaching). I work great under pressure, as the pressure gets my gears turning. But without the pressure of a deadline or high risk/reward situation, without intrinsict interest, I don't work, until the pressure reaches a certain threshold. I work, but not to the same speed and quality as under pressure.

I guess it would be distractions like the forex market and trading. As when I was involved in trading, that would often eat a lot of my time, and distract me from 8am - 1pm, Tues-Friday. -> Which would in turn create the pressure situation, where I would need to produce. So Maybe good maybe bad. Either way defenitly got in my way of completed work.

Being scared of doing something, and you taught me not to be.

One thing that sometimes gets in the way of me doing my best is the uncertainty about whether what I’m learning now will actually be useful in the field later on. Of course, I understand that university is meant to be a place for learning academic theory, and that’s important. But I think engineering is about contributing to society through practical work.

Sometimes I wonder if the knowledge I’m gaining now will really translate into skills I can apply in a real world job. That uncertainty can make it hard to stay fully motivated. Opportunities for internships are becoming more limited, and for international students like me, it’s even more difficult. I’ve applied for internships over the past two years but haven’t been able to secure one.

I think it would help a lot if more assignments or projects were connected to real world experiences or applications. If we had chances to do work that not only helped us learn but also gave us something concrete to add to a resume, it would reduce that feeling of uncertainty and help us feel more prepared for our future careers.

There are some classes where I feel like I have no idea what I am doing because class lectures are difficult to follow and TAs aren't as helpful as they could be.

4. The obstacles that prevent me from knowing what is expected of me in my degree program are:

Poor understanding of industry expectations / what efforts in the real workforce might look like. I don't feel like I have a strong understanding of what companies are expecting me to be capable of straight out of graduation, and the coursework is largely theory rather than application. I understand that this has good reasoning for it, but it's really difficult to understand how to actually apply what I'm learning when I'm not given a good opportunity to.

Lack of industry knowledge. As a CS student I am given the freedom to pick a fairly loose combination of 400 level classes for the general track, but without having worked in industry before or having had mentors from industry to give you advice and experience on what will be most useful, its easy to feel somewhat aimless. If you take CMSC435 though you will absolutely NOT have this issue. Purtilo is a massive information bank for useful techniques and experience that will help your efforts feel more tailored to industry.

For the most part, I actually do know what’s expected of me in the CS program. The main thing that gets in the way is how much time GenEds take up. A lot of them don’t feel relevant to what I’m trying to do, and they take time away from learning actual skills I need for my major or career. It just feels like time that could be spent better.

What is expected of me in my degree program doesn't matter much, so long as I'm getting the grade. What is important is developing actual skills that carry on to real life work, and very little of my coursework here has pushed me towards that angle of development besides this class.

Waitlists and limited course seating/options prevents me from taking courses that I want to take.

Some of the obstacles that prevent me from knowing what is expected of me in my degree program is a lack of guidance on these types of information. I feel as though I try my best to fumble in the dark of what we can and can't do in this program, and having some sort of guidance based on our own preferences would be the best idea to ensure I can do the classes I want.

Obstacles preventing me from knowing what is expected of me in my career are the lack of opportunities for working as a team in a professional manner.

Financial responsibilities, this required me to work in order to meet up with my needs. The consequence of this was that I spent less time in school than a student should. Also, I had some personal challenges to deal with in previous semesters.

I feel like Computer Engineering is in that weird gray area where it isn't really Computer Science, but it also isn't Electrical Engineering, so I don't get to take full advantage of the benefits or structure that either of those majors offer. It's hard to know what is expected of me when I'm going off two different lists of expectations, neither of which are actually for me. I think it needs more structure, overall. On a little bit of a side note, we also lack that sense of community so often found in other majors. Besides the common trauma bonding, there isn't really anything that brings Computer Engineers together. In fact, there is often a divide, with half being more aligned to the EE side, and the other more closely associating with CS.

Just communication. If the teacher is communicative or they are slow in response and grading it makes me very worried and scared. However, Dr. Purtilo is the complete opposite so thanks!

I feel as though the degree audit makes things pretty clear on Testudo. I think communication in general from the department is pretty poor though, mostly because of the sheer quantity of emails they send out - It conditions me to ignore their emails. If they cut down on the quantity and actually did limit it to a weekly digest or something, I would be more inclined to look through it.

That's easy. Me. I'm too stubborn to ask for help when I very obviously should.

Which classes have the most value for my degree in terms of economic value. For example the value of Algorithms for Data Science class compared to Software Engineering.

The lack of teacher involvement in most classes. 435 avoided this in many cases, with Purtilo always offering his support regarding anything the project, and he will listen to your concerns, no matter what they are. Use his services, and use them often!

I would say I'm pretty well aware of what's expected of me in my degree program. But I'll take this moment to suggest that the CS department should look into giving more SE or professional development level classes on engineering like 435 since I feel like most people who go into CS aim for that SE job.

Lack of advising. I met with my advisor one time, he told me I wasn't going to graduate on time multiple times and I had to correct him each time. There was no required advising beyond that, so I was basically figuring it all out myself. UMD needs to require advising with real competent advisors.

Lack of clear distinction between a course name/description and that content provided in the course.

Nothing, I think everything is very clear as is.

In all honesty, nothing really stands in your way if you are willing to take initiative. A lot of it comes down to holding yourself accountable and going at a pace that allows you to fully understand the material. However, it would make a big difference if the EE department had better professors. Many of them do not seem interested in actually teaching, which forces students to learn difficult topics entirely on their own. When this happens across multiple classes, it becomes overwhelming and discouraging

The information on the websites is sometimes confusing and takes a long time to find.

Lack of direction in the curriculm. There is a general course path, but it is never really explained why we are learning what we learn, or how it is important.

The obstacles that prevent me from knowing what is expected of me in my degree program are mainly a lack of clear communication and guidance regarding course prerequisites, project expectations, and career paths. Sometimes, it's difficult to understand how each course fits into the overall picture of my degree, especially when the objectives and outcomes are not clearly outlined at the start. Additionally, balancing academic expectations with extracurricular activities or internships can sometimes leave me unsure of where to focus my energy. A clearer roadmap and better communication from faculty or advisors could help mitigate these uncertainties and provide a better sense of direction throughout the program.

Vague/unclear requirements.

Obstacles that prevent me from knowing what is expected of me are that nobody really tells me what is expected of me. I feel like I am just told what classes I am going to take. I know am expected to do well in the classes and learn the course content, but I don't know what to expect when I leave. I don't know how a lot of the course content will be applied, and how much I actually need to remember to succeed in the workplace.

Upper Level Concentration requirement for CS students (waste of time, money. students want to learn more useful CS classes); not enough support for job searching for international students (career fairs are mostly filled with goverment work) like search sites, corporate reachout/programs; TA positions prioritizes graduate students; not enough corporate full-stack long projects (unlike CMSC435).

Unclear learning objectives and inconsistent feedback make it impossible to know exactly what’s expected of me.

Personally I was pretty confident in the direction I wanted to take going into university and the classes and knowledge I wished to extract from the CS/math program here.

Nothing. I am always self aware, and planned all my courses and requirements to my degree completetion.

I think the biggest obstacle is learning a lot of theory and spending time on toy problems.

I believe that a lack of information often makes it hard to know exactly what I should be doing. This relates to what I mentioned earlier. Academically, many things are clearly explained, and the professors provide great learning opportunities, so I have no complaints about that.

However, when it comes to practical experience, I often find myself unsure of what steps to take outside of class. People often say things like you should practice LeetCode or build personal projects for your portfolio. But it is difficult to know what kinds of projects are actually useful, how much LeetCode is enough, or even which programming language to use when practicing. There is no clear guidance, and sometimes I cannot tell if the advice I hear is truly helpful or not.

I understand that everyone has their own path and freedom to choose, but as someone still early in my career, I sometimes wish there were a bit more direction to help me get started before figuring things out on my own.

Especially at the beginning, not really understanding how the work I do in classes connect to what happens at a workplace/in industry.

5. The best way to predict when students will be compatible members of a successful team is:

Engagement. Highly engaged team members, regardless of their views, are going to seek clear and persistent communication as a means to facilitate their involvement in the group. This benefits everyone.

I would say initiative. The team members I had that took initiative early, and consistently did so in all organizational efforts proved to have the most impact, and student who inconsistently or never took initiative, ended up having little to no impact. I think it comes down to whether team members actually get along and can communicate well. You don’t have to be best friends, but if there’s some mutual respect and everyone feels comfortable talking openly, the work gets a lot easier. Some people like things super structured, others are more laid-back. We saw some of that clash during our project this semester, and it definitely caused tension (especially between Abhay and myself). It would’ve helped if we had talked more upfront about how we each work and what we expected from each other.

A willingness to work together and stay involved. Once someone checks out, things start to fall apart. Don't let it get ot that point.

They are early to act and organize, students who exercise regular communication will be more successful than those who don't.

The best way to predict when students will be compatible members of a successful team is if everyone communicates, then actually does the tasks given to them. I think that also ensuring that everyone is on the same page about where everything is also leads to a good sense of community within each group. Finally, if everyone's work ethic and sense of time are also the same, this can also lead to becoming more cohesive as a group.

The best way to predict when students will be compatible members of a successful team would be to identify potential incompatibilities to avoid grouping them. For example, some students may use AI a lot while working, and others may be completely against using AI. Grouping these students may result in inefficient team collaboration.

I think the scrimmages was one way to see how people work in groups and determine how they will work since it was a low stakes collaborative exercise. Another approach would be to ask students who they would want to work with. This shouldn't be the sole bases on how teams are created but it is good to have this extra information in your back pocket. It could come in handy.

There isn't really a way to predict when a team will be comprised of members that are all compatible with each other and the team will be successful. Even if all the metrics say that a group will be super compatible, there is still a strong chance that personalities will clash. I've worked in student housing pretty much throughout all of college, and the same goes for roommate groups. The best recommendation I have is to look at what skills each person brings and how it will contribute to the success of the project.

I feel like you never know. You just need to have an open mind. I guess if you can tell if a student isn't open minded then yes, but if a student is open minded I feel like that can get a long with any team!

How effectively they can communicate, and if they care. Communication and availability are big factors in how well someone operates on a team in this class (and in general). I think it can be hard to quantify who "cares", but this is also a factor - who cares enough to polish up a demo website, who cares enough to read how to format the cover sheet, who cares enough to figure out svn, who cares enough to reach out outside of class. It is one thing to be intelligent and take this class, but people who care will be assets to a team and actually produce good work.

Measure the time elapsed between the start of the project and the first concrete prototype. That shows initiative, and it's the most important element. The level of honest communication between team members amongst each other and with the client. Being blunt about the state of the product to the client and the whole team, including being honest about critiques for other team members through Peer Mentoring will lead to the growth of the team. This growth and advancement will generally lead to a successful team and a successful product. The vibes. You have to be able to see eye to eye on certain things. If you can't get together with your team early, you have a much less likely chance of being able to work well later. "If you want a better team, be a better team member" -- Dr Purtilo.

I think everyone in our team at least wanted to do the best they could and that mattered. So to answer the question, dedication. Do they care... they don't think of a task as simply another assignment they have to half-ass and submit, but rather they put effort into whatever craft they're

I think the scrimmage is a good predictor, but maybe have us ticket during that too so you can tell who is doing what easier. It'd give you a better idea of our capabilities before real placement. Clear and consistent communication. I find I work best with teams that strike a balance between having clear objectives and check-ins with the work for the week, while also respecting the time of the group. I don't know, we just sort of click. I think everyone is accomodating and that's why we were able to get along, rather than some unique combination of traits. It does take some time for the teamwork to settle in as people get a feeling for what each person is like.

Look for students who are consistent in their communication, responsible with their tasks, and open to collaboration. Technical skills matter, but a willingness to show up, adapt, and support others is often more important. Good team members tend to be those who show initiative, follow through on what they say, and treat their peers with respect

If they are attentive, willing to help, and communicate well from the start. To see who communicates the best, and try to take on more work. I found that the best teammates were the one's who were always looking to help out on the project, and talked about what they were working on; help they might need; what they want to work on next; what else they could be doing.

Is through how fast they submit their assignments and the quality of work in those assignments. How often conflicting ideas occur and whether or not compromises are being properly made through discussion.

The best way to predict when students will be compatible members is how communicative and responsive they are. My team was extremely communicative and open from the first day we got our team assignments, and I think that was why were able to be successful throughout this project. Even if we were busy, we made sure that everyone knew beforehand. We never expected too much from eachother because we knew what we were all going through.

good comunication, especially how carefully they listen to the problem/client/other members; energetic; pay attention to people; commitment to do good work; willing to learn new techonologies (realistically how much experience they have with the current techstack)

To see if someone would be a compatible member of a successful team, you have to make sure that you guys all have the same goal in mind. One of the CMSC435 alumnus gave our team advice in that you don't want mismatched expectations between teammates where one student is just shooting to pass the class and doesn't care if they get a C while another team member is expecting as high of a grade as possible.

How often and how clearly they can communicate! Software engineering is an exercise in communication after all :^)

If they have good communicationd. If the group seems to work well together through small tasks. If the teams of skills that complement eachother.

I think it is by their diligence and responsibility. When I see that they are diligent and responsible, I can see that they will become successful members of a team in the future and it is just a matter of time that will take them there.

What does it mean to be a successful member of a team? I think it’s important to define that first. Is it someone with strong technical skills? Someone who communicates well with others? Or someone who participates actively and works with dedication? From the Gallup survey we took at the beginning of the course, I realized that teams made up of people with different strengths and personalities can be more effective. A group isn’t about one person doing everything. The best results come when each member complements the others, especially in areas where someone might be lacking. So, going back to the original question, I believe that the most important trait of a successful team member is active participation. Skills can be improved, and weaknesses can be supported by others, but no one else can fill in for a lack of engagement. Then the next question is, how can we tell who is likely to be reliable and committed? One idea might be to ask students to submit a short reflection on what roles they’ve taken in past group projects and what they contributed. That way, we can better understand their experience and sense of responsibility If students are consistently showing up and engaged during meetings. If they're missing a lot of early meetings, or are disengaged during them, that's a bad early sign.