Category Archives: CS@Worcester

Create your Own Company as a means to gain experience

Here’s an excerpt I found very interesting from John Sonmez’s newly released book, ‘the Complete Software Developer’s Career Guide’. It is a good read and I recommend it. I think I might try this option, and I think you guys … Continue reading

From the blog CS@Worcester – thewisedevloper by thewisedeveloper and used with permission of the author. All other rights reserved by the author.

Build Java experience by volunteering: location could be anywhere (Work from home)

Hello all I would like to share something with you all. A platform has been created whereby companies looking for volunteers to work on their Java based projects can post and select applicants. http://www.code4socialgood.org ” Code for Social Good is a … Continue reading

From the blog CS@Worcester – thewisedevloper by thewisedeveloper and used with permission of the author. All other rights reserved by the author.

Resume format for the Novice

Hi everybody I would like to share this resume which I cut out from the book ‘Java/J2EE Resume Companion’. This book teaches how to write a resume for the novice, the intermediate, and the advanced professional. I’m sharing the novice … Continue reading

From the blog CS@Worcester – thewisedevloper by thewisedeveloper and used with permission of the author. All other rights reserved by the author.

Java_Learning_Road-map

Hi everybody Just wanted to share something with you all. So I came across this java learning road map, which I think is typical of the skills required for a Java developer. I like that it proceeds on a step-by-step … Continue reading

From the blog CS@Worcester – thewisedevloper by thewisedeveloper and used with permission of the author. All other rights reserved by the author.

Java_Road_map

Hi everybody I find this Java road map very interesting. It shows the skills to master for every career path. Hope you guys like it. My personal preference is to go all the way up, reaching solutions architect. However, I … Continue reading

From the blog CS@Worcester – thewisedevloper by thewisedeveloper and used with permission of the author. All other rights reserved by the author.

Book Suggestions for Learning Design Patterns

Hi everybody, good morning  I thought I’d share my thoughts before I go about my day. If you are looking to learn Design Patterns, here are my suggestions. Not that I’m an expert, but you know, this is what worked … Continue reading

From the blog CS@Worcester – thewisedevloper by thewisedeveloper and used with permission of the author. All other rights reserved by the author.

Course Prep: Open Educational Materials Grant Proposal

OER Logo
The Worcester State University Library has called for proposals for Open Educational Resources Initiative (OERI) mini-grants to support Fall 2017 courses to the use of Open Educational Resources.

I have submitted a proposal to support the use of OER in CS 343 Software Construction, Design, and Architecture. This is the first required course in our Software Development Concentration in the Computer Science Major, and is taken by students in the concentration in the Fall of their Junior year.

Rather than repeat material from my mini-grant proposal, I’m just going to reproduce my submission here. Whether I receive the mini-grant or not, I will still be doing this with my course, and I will blog about it here as I work on it.


Course Number

CS 343

Course Title

Software Construction, Design, and Architecture

What type of course is this?

LASC
Check Box Noun project 10759 Required course in the major
Elective course in the major

Number of Students

Please estimate the enrollment of the course, either using data from previous semesters (average or aggregate), exact enrollment from the last time the course was taught, or, if proposing a new course, an estimate of anticipated enrollment.

Currently 33 registered for Fall 2017. (Another 5-10 are likely when transfer students register.)

(There were 26 students in the last offering in Fall 2016.)

(This course is a first-semester junior-year course required of all Software Development Concentration students in the CS Major, offered every Fall semester.)

Current Textbook(s) or Anticipated Textbook(s) that will be replaced

If more than one, please list all

Flexible, Reliable Software: Using Patterns and Agile Development, Henrik B. Christensen, CRC Press, 2010 (was used in Fall 2016)

Clean Code: A Handbook of Agile Craftsmanship, Robert C. Martin, Prentice Hall, 2008 (I will likely require this book for Fall 2017 in addition to any OER materials – although if I can find equivalent OER material, I will not require it. This book will be used in all 4 courses of the Software Development Concentration – CS 343, CS 348, CS 443, CS 448.)

New Cost of Current Textbook(s) or Anticipated Textbook(s)

Please list the current price on Amazon for a new version

Christensen – $79.49

Martin – $36.59

Used Cost of Current Textbook(s) or Anticipated Textbook(s)

Please list the current price on Amazon for a used version

Christensen – $51.30

Martin – $29.99

What are your goals regarding this initiative? What are your intended outcomes for your students’ learning?

I am redesigning this course from scratch and there is no single textbook that covers the range of material that I want to include in this course.

My plan is for this course to cover the design of software systems, as represented by design patterns and software architectures. The students will design software systems, and construct some of them from those designs, in some cases using available software frameworks. The unifying theme for these three design topics (design patterns, software architectures, and software frameworks) will be the concept of modeling these designs using the Unified Modeling Language (UML) as a representation.

To implement this plan, I will need to find resources covering four areas:

  1. Learning the most commonly used diagrams in the UML and learning to use a modeling tool to create the models and diagrams.
  2. Learning about the most commonly used design patterns, and to what types of problems they should be applied.
  3. Learning about a number of commonly used software architectures, to what types of problems they should be applied, and how to design with them.
  4. Learning about a number of commonly used software frameworks that correspond to some of the architectures, and how to implement a design/system with them.

By using OER materials for:

  1. The UML – I will be able to pick and choose which diagrams we cover, and to what level of detail. Students will not need a textbook that is larger than needed. In addition, we will have access to instructions for using the most recent version of the modeling tool, and students will not have to translate from a different tool that might be used in a textbook.
  2. Design Patterns – I will be able to pick and choose which patterns we cover, and to what level of detail. Students will not need a textbook that is larger than needed. In addition, I will be able to find more relevant examples of the design patterns for the students.
  3. Software Architectures – I will be able to pick and choose which architectures we cover, and to what level of detail. Students will not need a textbook that is larger than needed. In addition, I will be able to find more relevant examples of the architectures for the students.
  4. Software Frameworks – I will be able to pick and choose which frameworks we cover, and to what level of detail. Software frameworks are not typically covered in textbooks. In addition, we will be able to use the most up-to-date versions of appropriate frameworks, which change quite frequently.

Finally, it will be easier to have the course materials reflect the current state of software design for future semesters, as a textbook would go out of date quickly and not be updated as frequently.

Please give a brief description of the plan for which you seek support. This might include how you will go about identifying or creating resources to replace the materials used in your course, how students will access the assigned content (e.g., via laptop, mobile device or smartphone), how you will make your educational resources openly available, etc.

There are literally hundreds of online tutorials and blog posts about the four areas I want the course to cover. There may be some materials in some of the open content and open textbook databases, but I am not having as much luck with those. The difficulty will be determining which of the materials are of high enough quality and at the right level for the students. The bulk of my effort will be put into finding and reviewing the materials. Once the materials have been identified, compiling them into lessons and background reading for assignments will not be too difficult.

As the materials I am looking at are mostly Web resources, the students will most likely be accessing them on their laptops, although access through a mobile device will be possible.

All materials that I produce myself (syllabus, lists of readings and resources, lessons, assignments, project specifications, and tutorials) will be licensed CC-BY-SA (which I have been doing for years) and will be available on the GitHub repository for the course. I will look into which of the OER sites is the most appropriate for posting to as a directory to link to my materials.

What challenges do you anticipate in implementing your goals? (e.g., time constraints, technology barriers, etc.) How do you plan to address those challenges?

The biggest challenge will be having enough time to review the large quantity of web materials. Another challenge will be the fact that I am still designing the course, as I am researching materials.

I plan to address those challenges by adopting a “good-enough” approach and finding something good enough for each topic first, and then when additional time is available, looking for better materials before the topic is covered (or after the course has ended to prepare for the next offering.)

What library or other support will your project require?

I have not spent any significant time investigating library resources, particularly database and ebook offerings. Spending some time with one of the librarians to look at what is available will be helpful.

How do you plan to assess the effectiveness of this initiative? Will you be able to participate in library assessment?

I will blog about my efforts to design the course and select materials. I will survey the students on the materials themselves. I plan to have the students spend time looking for materials themselves and blogging about them as part of the course, in service of our program outcome:

“Learn new models, techniques, and technologies as they emerge and appreciate the necessity of such continuing professional development.”

I will give the students both the Pre-Test and Post-Test that the Library develops to assess the OER Initiative.

From the blog CS@Worcester – On becoming an Eccentric Professor… by Karl R. Wurst and used with permission of the author. All other rights reserved by the author.