CSC 591W – Open Source Software Development

GENERAL INFORMATION:

Instructor: William Cohen

Email: wecohen@ncsu.edu

Office Hours: Tues 2:00-5:00 Partners I 2300, 919-513-0395 (and by appointment)

Telephone: 919-754-3700 (ask for William Cohen)

COURSE INFORMATION:

Credit Hours: 3

CLASS TIME AND LOCATION: MW 5:20-6:30pm EB2 3228

Prerequisite: CSC510 Software Engineering

Textbook:

http://producingoss.com/ has complete text of book.

Optional References:

Description: An introduction to the techniques used to manage, design, implement, and test, and release open source software. The implications of licenses and distributed development teams will be examined. Class projects will include working on existing open source software projects.

COURSE OBJECTIVES:

GRADING:

Mid-term

15%

Final examination

20%

Survey of Existing OSS projects

20%

Code defect triage and fixing

20% (2 x 10%)

OSS project enhancement

25%

TENTATIVE COURSE SCHEDULE:

Class

Topic

Assignment Due

1 (Jan 9)

Introduction, What is OSS?


2 (Jan 14)

Evaluating existing OSS projects


3 (Jan 16)

OSS Development environment


4 (Jan 23)

OSS project communications


5 (Jan 28)

Licensing


6 (Jan 30)

Documenting Software


7 (Feb 4)

Documentation Tools

Survey of Existing OSS projects

8 (Feb 6)

Producing Change Sets (patches)


9 (Feb 11)

Reviewing Code


10 (Feb 13)

Bug tracking systems


11 (Feb 18)

Software debugging techniques


12 (Feb 20)

Software debugging techniques


13 (Feb 25)

Mid term


14 (Feb 27)

Proposing new features


15 (Mar 10)

Project planning

Code defect triage and fixing

16 (Mar 12)

Test suites/ regression testing


17 (Mar 17)

Testing tools (Dogtail)


18 (Mar 19)

Test Plans


19 (Mar 24)

Packaging Source Code


20 (Mar 26)

Introduction to RPM


21 (Mar 31)

Introduction to Koji Build System

Improving Testing

22 (Apr 2)

Packaging Best Practices


23 (Apr 7)

Tinderox


24 (Apr 9)

Internationalization and Localization


25 (Apr 14)

Starting new OSS projects


26 (Apr 16)

Setting up new project infrastructure


27 (Apr 21)

Funding OSS projects

OSS project enhancement

28 (Apr 23)

Review Question and Answers


Final April 28, 6-9pm

No class January 21, Martin Luther King Holiday

No classes March 3-7, Spring break

Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.