Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ubccpsc/507

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 

Repository files navigation

CPSC 507 Advanced Software Engineering

UBC CPSC 507 - Advanced Software Engineering

Sept 7, 2018 -> Nov 30, 2018 (2018T1).

Overview

Software is a human product. Developers are intrinsic to software development; as systems scale in size and complexity, the challenges that developers must overcome rapidly increase. The theme of this Advanced Software Engineering course will be 'Human Aspects of Software Engineering'. We will examine why creating software is a hard problem and how these problems have been addressed and evaluated both in research and practice. We will focus on development-based activities (rather than planning or requirements-based activities). The course will be seminar-based and will involve weekly reading and discussion. The project will involve building a software development tool to address a problem you have faced writing software yourself; this will likely involve a large amount of programming. This course is offered by the Department of Computer Science at the University of British Columbia.

Lectures are held every Friday from 0900 to 1150 ICCS 246. My office hours are by appointment but will be held in ICICS 309. Official scheduling details can be found in the SSC entry.

The course will be adjusted according to your feedback, interests, and experience. This is an overview of the kinds of topics we could cover:

  • software evolution
  • program comprehension
  • software visualization
  • development team processes
  • software development tools and environments
  • quantitative & qualitative evaluation of software engineering research

Mindmap from the first lecture:

SE Mind Map

Contact

The best way to get in touch with me is via email. Office hours are by appointment, but after class will generally be a good time.

Schedule

Note: This is a tentative schedule that will firm up after the second week.

Date Paper Presenter
Sept 7 Course Intro Reid
Sept 14 Brooks. No Silver Bullet. IEEE Computer 1987. Reid
Sept 14 Gibbs. Software's Chronic Crisis Reid
Sept 21 Cancelled N/A
Sept 28 TBD TBD
Oct 5 TBD & Project Pitches TBD
Oct 12 TBD TBD
Oct 19 TBD TBD
Oct 26 TBD TBD
Nov 2 TBD TBD
Nov 9 TBD TBD
Nov 16 TBD TBD
Nov 23 Project Talks Everyone
Nov 30 Program Committee Meeting Everyone

Assessment

  • Seminar: 15%
  • Seminar Paper Reviews: 15%
  • Class Participation: 15%
  • Project: 40%
  • Project reviews: 15%

NOTE: Attending the first class and submitting your paper selections by the deadline is required to pass the course. If you cannot do this, please get in touch with the instructor before the first class / paper submission deadline

Course Format

This will be a paper-based seminar course. Each week we will read and discuss 3-4 papers. Everyone in the class will have an opportunity to give at least two ~30 minute paper presentations and lead a discussion ~30 minute discussion about the paper. While only one person will present each paper, it is expected that everyone will read all of the papers and contribute to the in-class discussion.

While reading the papers you should be able to answer the following five questions:

  1. What were the primary contributions of the paper as the author sees it?
  2. What were the main contributions of the paper as you (the reader) see it?
  3. How does this work move the research forward (or how does the work apply to you)?
  4. How was the work validated?
  5. How could this research be extended?
  6. How could this research be applied in practice?

Each week, you will also submit a review for each of the papers being presented that week at 0800 the day of class (CPSC507 Paper Review Form). The summary should be 300-500 words long. The discussion questions above (or the ones we talked about in the first class) can be used to help structure your review.

While presenters should keep these questions in mind, the audience in particular should think about them specifically while they are reading the paper.

You will get to select the two papers you want to present from the course. Please make your selections from this list. Once you have selected your papers, enter the details in the following paper choice spreadsheet. I will generate a cohesive class schedule once everyone has selected their papers. This must be done by Sept 12 @ 0800.

Project reviews

The project is the primary artifact of the course; the outcome of all projects will be a research paper. In the last week of the class we will formally review all the papers from the course projects (using standard program committee review forms) and have a PC meeting describing the strengths and weaknesses of each paper. The reviews you produce will comprise 15% of your final mark.

The course will conclude with a formal Program Committee (PC) meeting. All projects will be submitted via a EasyChair (a conference management system). Each paper will receive at least 8 reviews from class members (I will review every paper). These peer-reviews will comprise 15% of the final mark. Michael Ernst has compiled a series of informative links for creating effective reviews. Here are links to two different reviews as well (one positive and one negative) if you want concrete examples. Remember, the final paper reviews must all be submitted to EasyChair by 0800 on Nov 29. EasyChair Submission Link

Project

The project forms an integral part of this course. The projects can be completed in groups of up to three. The intent of the project is to identify a real development shortcoming faced by engineers and create a tool to improve this problem.

There are three deliverables for your project:

  • Project proposal. Before you undertake your project you will need to submit a proposal for approval. The proposal should be short (max 1 page PDF in ACM format). The proposal should include a problem statement, the motivation for the project, and set of objectives you aim to accomplish. I will read these and provide comments. The proposal is not for marks but must be completed in order to pass the course. If you wish to 'pitch' to the class to find additional team mates, please indicate this at the bottom of the proposal. For the pitch you will get 1-2 minutes to describe the project to try to entice others to join your group. NOTE: even if you pitch, you are still free to abandon your project and join a different one. This will be due on Sept 26 @ 0800 via email. Each proposal will receive feedback and will present a 5 minute pitch for the project in class on Oct 5. An updated proposal should be submitted on Oct 12 @ 0800 via email.

  • Written report. The required length of the written report varies from project to project; all reports must be formatted according to the ACM format (use the sigconf style) and submitted as a PDF. This artifact will constitute 100% of the project grade. This will be due on Nov 25 @ 0800 via Easychair.

  • Project presentation. Each team will give a 10-minute conference style talk about their project in class. Since you only have 10 minutes you will need to prioritize the work you did in the paper to fit the time limit. Remember: most people would have read your paper by this point, so you can assume some familiarity with your work. This will happen on Nov 23.

I have included a brief description of five of the projects from previous years.

  • Answering developers’ questions using information fragments in a heterogeneous development environment. In this project, the authors developed a novel approach to model online programming threads (e.g., Stack Overflow). This paper was extended subsequent to the course and was published in VLHCC 2012.

  • Semantic-Based Code Search Evaluation: An Exploratory Study. By evaluating three different code search engines, the authors aimed to identify high-level strengths and weaknesses that could be used to suggest future improvements for hybrid code search approaches.

  • NavTracks: The Next Generation. This paper evaluated the existing NavTracks tool to determine how the tool worked in practice and to suggest future avenues for research in this space.

  • File Recommendation Based on File Interactions: A Clustering Approach to File Recommendations. A new approach for leveraging code navigation paths (in a similar manner to NavTracks) was developed and the quality of the recommended artifacts evaluated.

Late Submissions

Late submissions cannot be accepted.

Academic Conduct

Each student is responsible for understanding and abiding by the University and Departmental policies on academic conduct. Specifically:

Respectful Environment

Everyone involved with CPSC 507 is responsible for understanding and abiding by UBC's Respectful Environment Statement.

The Statement of Principle of UBC's Respectful Environment Statement is "The best possible environment for working, learning and living is one in which respect, civility, diversity, opportunity and inclusion are valued. Everyone at the University of British Columbia is expected to conduct themselves in a manner that upholds these principles in all communications and interactions with fellow UBC community members and the public in all University-related settings."

About

Main course repository for CPSC 507.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published