DEV Community

Cover image for The Best Course I Took

The Best Course I Took

Beekey Cheung on March 23, 2017

Collapse
 
perrydbucs profile image
Perry Donham

I just passed this around my department. I teach a software engineering course that sounds a lot like SE1 above; we break into teams of 4-5 and do a semester-long project from scratch. Honestly I think the hardest part is working in a team. I love the idea of refactoring a project from past semesters...might add this to my own course as a mini-project.

Perry

Collapse
 
pbeekums profile image
Beekey Cheung

If you do add this to your course, I would love to hear how it turns out. I have experience with one instance. I'm not sure if previous or post sections of it turned out as well as mine.

How do teams work out in your version of SE1? You're right about how hard it is. I'm glad my department made most of our courses team based. I think one thing missing from our course was more of the soft skills required working in a team. We were thrown together randomly and expected to work things out. Things usually worked out for my teams with a few hiccups, but I've also seen some disastrous team dynamics. One team had locked one of their members out of the source control repository because they didn't trust the code he committed. Do you include any training in working as a team?

Collapse
 
mattlancaster81 profile image
Matt Lancaster

The Software Engineering 2 class is a great learning experience for students. I have written code from scratch in my 13 years as a developer, but more often than not I am refactoring and re-writing code.

Another great exercise would be taking code from Language A and re-writing (logic and code) in Language B. I've had to do this multiple times over the years.

Collapse
 
indyk1ng profile image
Mike N.

I graduated the SE program before the switch to semesters. I'm really happy to see they switched the SE 2 course (formerly SE 362) project from a green field project with patterns to a refactoring project. I remember giving the feedback a few years later that having more of a refactoring focus would have been more valuable.

Collapse
 
codemouse92 profile image
Jason C. McDonald

Thanks for sharing your experiences! I hope more universities start implementing assignments like this. I'll be sharing this with the CS professors I work with.

Collapse
 
roh777 profile image
Rohit Yadav

Please share this with yor CS professors. The only thing I learned in Software engineering course was models and little bit of UML. I wish there was something like this.

Collapse
 
pbeekums profile image
Beekey Cheung

That's a shame. Stuff like UML can be useful, but it's a way to represent the work you're doing. It isn't the work itself. If you don't have practice designing software, then you don't have the context to use UML effectively.

Collapse
 
pbeekums profile image
Beekey Cheung

Awesome! Let me know how they respond. I would love to answer any questions they may have.

Collapse
 
justgage profile image
Gage

Wow, this is an awesome idea! This is like the (realistic) definition of my job. Not everything can be Greenfield.

Collapse
 
gladdstone profile image
Gladdstone

I'd recognize Golisano anywhere! I really hope it wasn't my SE project you had to refactor...

Collapse
 
pbeekums profile image
Beekey Cheung

Haha! Was it a bowling alley one?

I wonder if my project ended up getting picked at some point...