Catalog title

Agile Web Development and Social Justice

Catalog description (40 words)

Development of web applications using agile methodologies. Fundamentals of web programming and/or web UI design. Background in free/open-source software movement, social computing, and current themes in digital justice. Topics include ruby language, design principles, storyboarding, source control, testing, and documentation.

1) In concrete, substantiative terms explain how the course will proceed. List the major topics to be covered, preferably by week. For a course in the arts, describe students’ activities.

attempt number one

weeks 1-2 — background and concepts

weeks 3-4 — introduction to rails and short iterations

weeks 5-6 — iteration one

weeks 7-8 — iteration two

weeks 9-10 — iteration three

attempt number two

In keeping with the principles of agile development, the course will consist of a series of very short development iterations focused on small incremental changes and functioning applications. Students will be divided into two teams: an interface team and a programming team. The interface team will begin each iteration by creating a user-centered storyboard and interface templates. The programming team will then write functional and unit tests before creating the application logic for the iteration.

Each iteration will include technical instruction as well as background on the history and theory of software development. The first iteration will begin with an extremely simple web application, while subsequent iterations will incorporate greater sophistication as the student’s ability increases.

Iteration 1:

Iteration 2:

Iteration 3:

Iteration 4:

2) Include a complete reading list or its equivalent in other media.

free software movement, hacker ethic

principles of design

programming

3) State the basis on which evaluation of individual students’ achievements in this course will be made by the instructor, e.g., class participation, examinations, papers, projects.

4) Briefly justify any general education codes being assigned to the course (W courses must include Writing Intensive Course Approval Form and Q courses must include Supplemental Questions for Courses Satisfying Quantitative Education Requirement.)

T7 (natural sciences or social sciences)

A major theme of computer science is the evolution of development methodologies. This course seeks to give students hands on experience in a particular methodology designed for small teams in a fast paced world. The course will also cover core computer science skills such as programming, documentation, and testing. As such, the “natural sciences” designations clearly applies.

In social sciences, a major area of study is the emergence of a network society and how information and communication technologies are shaping the contemporary world. This course will examine such trends, specifically as it relates to social movements and digital equity. As such, the “social sciences” designation clearly applies.

5) List other UCSC courses covering similar material.

Sociology 30A-B-C.
Information Methods for Global Information Internships.
Introduction to information technology and communication networks using the Internet to reduce global inequality and bridge the “digital divide.” Prepares students enrolled in the Global Information Internship Program to construct web pages and write grant proposals for community and non-governmental organizations.

Computer Science 60N.
Beginning Programming: Natural Sciences.
An introduction to the basic techniques of computer programming. Detailed study of one programming language. Extensive practice using a computer to solve problems.

Computer Science 60G.
Beginning Programming: Social Sciences and Humanities.
An introduction to the basic techniques of computer programming. Detailed study of one programming language. Extensive practice using a computer, particularly personal computers, to solve problems.

Computer Engineering 80E.
Engineering Ethics.
Ethical theories, analysis, and their application to issues in the practice of engineering, such as safety and liability, professional responsibility to clients and employers, codes of ethics, legal obligations, environmental issues, and social issues. Emphasis on developing independent ethical analysis through the use of case studies.

Film and Digital Media 171D.
Social Information Spaces.
Investigates how information spaces can be designed to be inhabited, socially navigable spaces. Emphasizes the social navigation of information spaces, a set of techniques and ideas from computer-supported cooperative works, human-computer interaction, and architecture.

Computer Science 80J.
Technology Targeted at Social Issues.
Engineering is a great way to address social issues. This class will feature case studies and guest speakers on technologies people are already developing. The primary coursework will be a quarter long team project proposal where you propose something people should be doing. The best team project will get at least $5,000 to spend the summer pursuing it further.

6) List expected resource requirements including course support and specialized facilities or equipment for divisional review. (This information must also reported to the scheduling office each quarter the course is offered.)