The latest rage in university education is Massive Open Online Courses (MOOCs). These courses attract thousands of students for each offering. Students view lectures online and submit their quizzes and homework to automated grading systems. How well does this format fit software engineering? This column looks at some of the choices made by Armando Fox and David Patterson at the University of California, Berkeley in the creation of their course: Software Engineering for Software as a Service (SaaS). Some of those choices reveal advantages and disadvantages of adopting the MOOC approach. Fox and Patterson teach a longer version of their course on campus at Berkeley, CS 169: Software Engineering. The lectures from the first five weeks of the campus course were recorded for use in the online version. Although the online course covers only about a third of the material in the campus course, it provides a surprising amount of useful introductory material, and it gives students a chance to experience many of the key tasks and activities of software engineering. One of the choices made by Fox and Patterson in designing their campus course was to give students a quick introduction to their chosen software development process and tools at the start of the course. This enables students to start practicing software development after only a few hours of instruction. For example, in the second homework assignment students modify a web application and see how their changes result in new functionality for the user of the app. They use standard tools and methods just like real software developers. To be fair, students who take the campus course have already completed prerequisite programming courses. Online students without any programming background would probably find the homework assignments quite difficult. But students are able to accomplish quite a bit by writing a relatively small amount of code. This is the result of another choice of Fox and Patterson: selecting Ruby and Rails for the development environment. Ruby and Rails provide most of the infrastructure needed for creation of web applications and services. They also come with additional tools that enable effective software development practices. Students in the SaaS course practice behavior-driven development with Cucumber and RSpec. By describing tests in terms that are easily understood by customers, students learn to appreciate some of the difficulties that stakeholders have in describing their goals and intentions. They also learn to appreciate the value of testing early and often. Fox and Patterson made a good case for their approach in a recent CACM article [1]. Their survey of Berkeley alumni convinced them that they should include several modern software development techniques, including: version control, working in a team, software-as-a-service, design patterns, unit testing skills, Ruby on Rails, cloud computing, test-first development, user stories, low-fidelity user interface mockups, and measurement of progress in terms of velocity. All of these topics and techniques are included in their campus course, and many of them are also in the online version. Most of these techniques translate well to MOOCs, especially those involving individual programming tasks. Programming assignments can be assessed using automated systems fairly easily. Teamwork, however, is an unknown. There is nothing in principle that prevents students from working effectively in geographically distributed teams, but to my knowledge no one has tried it in the MOOC format yet. Not all software engineering is about software-as-a-service. Some software systems are created as embedded systems, some are shrink-wrapped products, some are the “glue” that hold other components together, to name just a few alternatives. And not all skills needed by software engineering are exercised by developing web applications. Requirements elicitation, review techniques, and effective presentation skills are also important. It is these more social skills that may be the most difficult to practice and assess in the MOOC format. Again, there is nothing in principle that prevents students from participating in any of these activities at a distance, but lack of co-location certainly make them more difficult. Also, it is hard to see how robotic grading can be applied to these exercises. Programs can be tested to see if they produce the correct results, but elicitation activities and reviews have no oracle. Perhaps this is an active research project somewhere. An interesting development in MOOCs that might help develop the more social side of software engineering is the spontaneous creation of study groups and self-appointed teaching assistants. Both of these have been very effective in the MOOC by Fox and Patterson. We look forward to seeing how other software engineering courses adapt to the MOOC format.
PLACE YOUR ADVERT HERE
- ACCOUNTING PROJECT TOPICS AND MATERIALS3553
- EDUCATION PROJECT TOPICS AND MATERIALS3486
- ENGLISH AND LINGUISTIC PROJECT TOPICS AND MATERIALS2939
- COMPUTER SCIENCE PROJECT TOPICS AND MATERIALS FINAL YEAR1274
- BANKING AND FINANCE PROJECT TOPICS AND MATERIALS1250
- BUSINESS ADMINISTRATION PROJECT TOPICS AND MATERIALS1236
- EDUCATION FOUNDATION GUIDANCE AND COUNSELLING TOPICS AND MATERIALS1045
- ZOOLOGY PROJECT TOPICS AND MATERIALS1002
- MASS COMMUNICATION PROJECT TOPICS AND MATERIALS1001
- ANIMAL SCIENCE PROJECT TOPICS AND MATERIALS978
- LAW PROJECT TOPICS AND MATERIALS896
- ARTS EDUCATION PROJECT TOPICS AND MATERIALS844
- MARKETING PROJECT TOPICS AND MATERIALS690
- AGRICULTURAL EXTENSION PROJECT TOPICS AND MATERIALS676
- PUBLIC ADMINISTRATION PROJECT TOPICS AND MATERIALS654
LATEST PROJECTS
STUDIES ON SOME ASPECTS OF ANTHRACNOSE-BLIGHT-DIEBACK COMPLEX OF CULTIVARS OF GRAPEVINES (VITIS SPP.) IN...
GENETIC VARIABILITY STUDIES OF TWENTY POTATO GENOTYPES
RELATIONSHIP OF HAEMOGLOBIN AND POTASSIUM POLYMORPHISM WITH CONFORMATION, MILK PRODUCTION AND BLOOD BIOCHEMICAL PROFILES...
ADOPTION OF AGRICULTURAL INNOVATIONS AMONG MEMBERS AND NON-MEMBERS OF WOMEN CO-OPERATIVE SOCIETIES IN OJU...
SMALL FARMER CREDIT WITH PARTICULAR REFERENCE TO NIGERIA
DISCLAIMER
All undertaking works, records and reports posted on this website, modishproject.com are the property/copyright of their individual proprietors. They are for research reference/direction purposes and the works are publicly supported. Do not present another person’s work as your own to maintain a strategic distance from counterfeiting its results. Use it as a guide and not to duplicate the work in exactly the same words (verbatim). modishproject.com is a vault of exploration works simply like academia.edu, researchgate.net, scribd.com, docsity.com, coursehero and numerous different stages where clients transfer works. The paid membership on modishproject.com is a method by which the site is kept up to help Open Education. In the event that you see your work posted here, and you need it to be eliminated/credited, it would be ideal if you call us on +2348053692035 or send us a mail along with the web address linked to the work, to [email protected]. We will answer to and honor each solicitation. Kindly note notification it might take up to 24 - 48 hours to handle your solicitation.