I'm on the faculty at Boston University in the computer science department, where I teach software engineering, intro courses, and application architecture and development. Also a bit of a Deadhead.
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.
Beekey Cheung is a software engineer with a large amount of enthusiasm for economics and a passion for education. He loves mentoring other programmers and is currently building an application to te...
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?
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.
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.
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.
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.
Beekey Cheung is a software engineer with a large amount of enthusiasm for economics and a passion for education. He loves mentoring other programmers and is currently building an application to te...
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.
Beekey Cheung is a software engineer with a large amount of enthusiasm for economics and a passion for education. He loves mentoring other programmers and is currently building an application to te...
I'm a web developer working primarily on enterprise-scale technologies. I work mainly in Python and JavaScript, with occasional dabbling in the black magic world of AWS. Do it for the C L O U D.
Beekey Cheung is a software engineer with a large amount of enthusiasm for economics and a passion for education. He loves mentoring other programmers and is currently building an application to te...
Top comments (11)
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
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?
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.
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.
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.
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.
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.
Awesome! Let me know how they respond. I would love to answer any questions they may have.
Wow, this is an awesome idea! This is like the (realistic) definition of my job. Not everything can be Greenfield.
I'd recognize Golisano anywhere! I really hope it wasn't my SE project you had to refactor...
Haha! Was it a bowling alley one?
I wonder if my project ended up getting picked at some point...