Sep 012018
 

The Fall 2018 semester begins in 4 days and I’ve been working hard for the last month or two on the courses I am teaching – CS-343 and CS-443. In this post, I’m going to talk about two course changes – Full POGIL and All OER.

Full POGIL and All OER

These two changes affect both courses.

POGIL

POGIL is an acronym for Process Oriented Guided Inquiry Learning. It is a student-centered, group-learning instructional strategy and philosophy developed through research on how students learn best.

The POGIL Project, What is POGIL

In past semesters, I have done some POGIL or POGIL-like activities in classes. Students seemed to be highly engaged with them. When I started to lecture, engagement started to go down. So, I plan to teach entirely with POGIL activities this semester in both of my courses.

In 2015, I attended the 3-day Northeast Regional POGIL Workshop held at Muhlenberg College, in the Introductory Track. That gave me the basics about how to teach with POGIL, I used it occasionally, mostly using activities that had been written by Stoney Jackson at Western New England University, or Clif Kussmaul at Muhlenberg.

I also tried to write some activities of my own, which were generally better than lecturing, but didn’t really fit the full POGIL methodology. So, this summer, I decided to attend the 3-day 2018 Northeast Regional POGIL Workshop (at Manhattan College), and take the Writing Activities track.

But before I went to the workshop, I decided to go all-in and teach CS-140 this summer as a full POGIL course. This was a good time to try this experiment because I had a small class (only 6 students) and I knew that there were a lot of already written activities for CS1 (Introductory programming) in Java. I used the activities from Chris Mayfield (at James Madison University). I read all of his activities, and soon decided that I would have to write some of my own. But having such a great collection of activities from Chris helped me generalize the structure of the activities and write some of my own.

Now I am writing all my own activities for my two courses this semester. This will be a challenge to keep up with, and I’m sure they will not always perfectly follow the POGIL learning cycle, but it feel confident that these will be a good start that I can improve upon for future semesters.

OER

In Fall 2017, I applied for and received an Open Educational Resources Initiative (OERI) mini-grant from the Worcester State University Library. I used it to teach CS 343 without a textbook. I did the same with CS 348 in Spring 2018 (without a grant). This semester I will be continuing by using OER in CS-343 again and eliminating the textbook from CS-443.

One of the reasons I decided to go full POGIL is that the activities replace much of the reading material in the courses. I can write an activity that introduces the concepts and terminology to the students for the first time, and then assign them some online readings for more details.

It’s great that I can save the students money with OER instead of a textbook, but from my perspective the most important feature of OER in my classes is that I can organize the class around material that I feel is important to the students. Often the course topics in these upper-level software development courses cannot be covered in a single book – I would have to assign 3 or 4 books to cover the areas, and I would use only part of each book. And I’m very fortunate that Computer Science is a field where practitioners feel compelled to document what they do, what tools they use, and how they work, on the Web providing me with a large collection of materials I can assign to my students.

Still to come…

In future posts, I’ll discuss Specification/Competency Grading, Self-Directed Professional Development Blog Entries, as well as changes in tools that I am using this semester.

Jun 152017
 

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 10759Required 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.