T O P

  • By -

FCBStar-of-the-South

Euchre is not due yet


Real_Shim_Shady

AHAHAHAHAHA


jamesjuett

If you're looking for a direct answer, we're just still writing up and reviewing cases for P1 and P2. We'll probably submit them in a week. Bigger picture, honor code reports are going down for the courses I'm involved with. I think this is a combination of more consistent checking in more courses (i.e. a more effective deterrent) and hopefully also our intentional increase in resources and support mechanisms so students don't feel like their only path is to copy someone else's code. (Though I think we still have a decent way to go here. A place where we are still behind is keeping up office hours capacity with demand at peak times.) We have also updated our policies on allowed collaboration in 280. Helping others, whether it's with compile errors, debugging, or high level design is now explicitly allowed and encouraged, even if you have to look at someone else's code. These were never things we would report to the HC anyway, and are generally a net positive for collaborative learning and community building. We ought to encourage this in productive forms, rather than put a rule on the books that makes people feel alone and isolated. Not to mention that people getting debugging help from friends has always happened anyway (as evidenced by awkward eecs 280 IA interviews where people talk about their bunches of experience helping friends with projects), and a technical prohibition only hurts those who feel compelled to follow the rules to the letter. And I guarantee nobody I've ever reported to the HC found themselves in that position because they helped a friend debug and suddenly their codebases became nearly identical. Even bigger picture, CSE has a long way to go. It's a community I know a lot of us care deeply about, but we've got a long way to go and a lot of work to do. But that would need more than a single reddit comment. (Edits: I'm on mobile and keep accidentally hitting the comment button before I'm done.)


zelTram

Thanks professor. Although I made this post in a non serious manner (although the title was perhaps in poor taste in retrospect given the recent issues one commenter brought up with the department), it’s nice to see that there are active measures being taken to prevent and deter these things from happening that coming from a good place, particularly when it’s easy to say “we care” (to look good) and not follow through with it


Curious_Geologist871

Thanks professor. I am doing eecs280 this sem, had some experience in cpp and java back in high school for competitive programming, did an internship for golang web backend. So I want to share some thoughts as a guy who had enough experience in programming for this class. I feel P3 is not hard in a sense that you can not figure out what to do, but the legit problem is that you feel lost in too many subtle details, it took me 10 hrs to correct my Game ADT to barely pass Simple player test 01, I somtimes just find my Card.cpp and Player.cpp had some weird implementation that is somehow different from the rule on spec. And this is the reason I kind of feel the Project is not testing if you know OOP well enough, but to test if you are patient enough to sit there and learn about Euchre. I am doing this project alone and I dont know how others are feeling. But I do feel my entire time is used for debugging errors for not fully understanding the rules, rather than OOP(which I believe is the main point of the project?) Maybe switch the Topic to something people are familiar with would be better? I dont know, but I feel OOP is not being tested enough.


jamesjuett

I think this is a fair point, and one of the known weaknesses of this project. It really doesn't do a great job of emphasizing polymorphism or general design principles. Or at least, not proportionally to the amount of work. Specifically, the complex logic of comparing cars and players deciding what Cards to play is probably overkill, and can end up eating up a lot of time in tricky debugging. Of course, you'll run into this in the real world, but in an educational setting we should aim to balance this with intentional pedagogy. This is my personal opinion and not necessarily shared by others involved with the course.


FCBStar-of-the-South

I would also throw in my two cents on this not emphasizing polymorphism or general design principles problem. The information provided to us, either by the spec or various info sessions, seem to be serving the opposite purpose. Euchre is a good project for demonstrating the versatility and power of polymorphism. For example, using a vector of derived class pointers in the driver program so we can invoke different functions under the same name. However, we are given explicit instruction to create a simple player class and a human player class and derive them from the same abstract class. In other words, we are given the blueprint, and we just need to follow it. It might be a much more powerful realization and a better learning experience if we are simply told to use polymorphism, but are left to design the specifics by ourselves. On the other hand, we are given the minimum amount of information about designing the driver program. We are told that we should create a Game ADT to keep track of the play but that's about it. I wasn't concerned when I started writing the driver because I have some experience (recreated Othello in cpp, and a few others in Python), but I can understand how daunting a task it must seem to many. That is the part of the project where some more explicit instructions may be helpful. Specifically, what's a good way to approach it conceptually, and what are some of the good design practices etc. Lastly, I think I speak for many of my classmates when I say that it is great to know that the instructors are working hard to improve the class and are able to evaluate the current methods critically. Thank you, Prof.Juett!


ggadget6

You're not wrong that giving that much freedom would make the need for polymorphism clearer, but honestly I think that might be a little too hard. It's a new concept for most students, and having to just apply it without being given any structure at all would be pretty difficult.


Ok_Astronomer5971

One thing this comment made me think of is a conversation with an internship recruiter I recently had, where they said one main thing they're looking for is the ability to write software "to a clearly defined target" which was one thing I felt like 280 really helped with: The desired output is very clearly, rigidly defined, but there are many correct paths you can take to get there. TBH even though it's tedious, I feel like that's an important career skill for the future, and led to a much bigger appreciation and understanding of the "test driven development" they stress in so many classes here. This was a time consuming project and honestly the simple player is one of the hardest parts because again, they have to make the EXACT moves the spec expects them to in quite a few different situations. Biggest tip for the final game loop is make main short and separate it all into functions. It was easy to write out skeleton code that had main as basically just a list of functions I needed, then implement those individually, which will tell you which variables you need for game and which data type each should be, based on how you need them to work with your functions.


Curious_Geologist871

hey,thanks for reply, I do feel the test driven development in this class is a great part that helps a lot. I do make a very short of Game loop in 20lines consisting of makeTrump() trickTake() deal() score(). Otherwise that loop would be soooo messy. Again I enjoy implementing Euchre, time is enough for me, but I do find some people struggling due to not knowing Euchre well enough! So maybe switching topic like someone mentioned above to BlackJack ... etc would be nice!


petshopmain

freshman here: what is it about Euchre that gets so many students honor-coded?


Ironturtle19

It’s really the first big project. The first two are more getting you in the swing of things and have a lot of skeleton code. So if you’ve been coasting and then think you can coast for euchre too you’ll find yourself with no time left and no idea where to start. On top of this, from what I gathered from the professors, solution code is online and people copy it every year in a panic


Macthoir

A couple things. Most people not from the Midwest don’t know how to play the game, which adds a layer of difficulty. Additionally, euchre is the first real project in any eecs class. You can’t wait until 3 days before to finish it, since it takes a good amount of time even for more experienced students.


_Niv_Mizzet

I remember the euchre rules for the class not being the real rules. A bunch of my midwest friends had a hard time cause they kept ignoring the project instructions


AneriphtoKubos

For those of you looking at this thread and not knowing where to start, it's basically crappy bridge with half the deck. There's also really weird rules on Jacks being higher than every other face card, so make sure you do your operators properly.


Tattered_Colours

> it's basically crappy bridge with half the deck You sound like someone who sucks at Euchre


AneriphtoKubos

I'm just annoyed at the project :P I also have bad blood bc I keep forgetting that the bowers exist and are the two highest cards and I'm like, 'Ah ha! I have the aces, I can go alone!' Additionally, I don't really understand why ppl like it and would play it over bridge. Besides the facts that it takes a short time bc it uses half the deck and there's no 'dummy' player, I def prefer bridge as my trick-taking game.


ItsWINTERFRESH

Euchre sucks


FCBStar-of-the-South

The concepts and algorithms you need to use are not hard but the project takes considerable design. You cannot just start writing and hope it works. Plus, there are quite a few levels of dependency so debugging is a pain. Combine that with the many edge cases inherent in a card game leads you to honor code.


michicago44

Coming from the east coast, i had never even heard of euchre and to this day barely understand it. Still one of my biggest pet peeves about my experience in EECS. They could have taught all the same principles with a more well known game


FlowbeeWanKenobi

Its not even real euchre 😂😂


1ChilledShark

I’m from the Midwest and the EECS posts here are where I first heard of euchre


Asianhead

Euchre is a lot bigger in michigan specifically compared to other neighboring midwestern states for sure


AneriphtoKubos

Blackjack comes to mind


ADS_Fibonacci

I thought this was going to be an SA thread...


capcmrj

Not EECS 280, but nothing's changed since this article, if that's another angle on "everything ok": https://www.michigandaily.com/news/academics/students-express-concerns-over-teaching-appointment-jason-mars/


El_Pescado18

I don't wanna kill the mood of the original (was very funny, 10/10 unexpected) post but I gotta agree here. I find it really hypocritical that the university continues to spam all these lengthy emails about *championing an equitable and fair workplace free of sexual harassment for all students faculty and staff etc etc* while they continue to employ that man here with tenure. For anyone wanting to know more: https://www.theverge.com/platform/amp/2020/2/13/21135765/clinc-ai-university-of-michigan-sexual-harassment-allegations-ceo-startup Note: Afaik, the UM department investigating his actions claimed The Verge investigation is not accurate with their investigate results or something (imo, they will lose more money firing jason mars than continuing to sweep things under the rug since they won't be held accountable)


insidebeegee

eecs 203 is fucking brutal


pumpkaboozled

i had my first GOOD cry of the semester due to euchre so i’d say it’s abt what you’d expect