New version page

UNC-Chapel Hill COMP 523 - Syllabus

Upgrade to remove ads
Upgrade to remove ads
Unformatted text preview:

COMP 523: Software Engineering Laboratory Bulletin DescriptionOrganization and scheduling of software engineering projects, structured programming, and design. Each team designs, codes, and debugs program components and synthesizes them into a tested, documented program product.General Course InfoTerm: Spring 2018Course/section: COMP 523 section 001Time: MWF 9:05 to 10:30There will also be weekly meetings with the instructor, many team meetings, and some client meetingsLocation: Sitterson 011Website: help-comp523 @ cs . unc . edu (send all class email here)Instructor InfoName: Dr. David StottsOffice: Brooks 007 (MW) SN 011 (F)Phone: 919 . 590 . 6133Web: Hours: Tuesday 1:00 to 2:30, or by appt.Any email sent to the instructor’s personal account risks getting lost in the huge pile received every day, so please use the class account. The class email account will be read regularly by the instructor. The instructor will communicate with students via the email addresses given in ConnectCarolina for the class. Please get in the habit of scanning your email for information from the instructor about the class. Message titles will contain “COMP 523”.Class MeetingsClass meetings will be on M and W 9:05 to 10:20. The Friday slot is reserved officially so that all teams have a time each week to meet. Please do not schedule over the Friday slot. We may also use it on occasion for whole-class events.Textbooks and ResourcesThere are no required or recommended textbooks. Sakai will be used primarily for the returning of comments and grades on individual assignments (if any). Individual assignments (if any) will be submitted through Sakai and team assignments will be submitted through the team’s website. Server software resources will be available as needed. All recommended or required readings will be available or referenced on the class website.Course DescriptionThe goal of this course is to teach the skills necessary for building a software product as a team. The lecture portion of the class will cover the broader picture of software engineering that includes a wide range of software development projects in terms ofsize, complexity, and criticality. The course carries EE (experiential education) and C (communications intensive) tags and is an APPLES course.The team aspect of this class will vary from team to team, as each team will work with a different client to develop a different software product. The projects will all be software that the clients want and will find useful, but no team will be working on software that is critical to the well-being of any client or client’s business.Target AudienceThis course is intended for upper class majors with an interest in building software for practical use. Students are expected to have enough experience to be able to learn new software systems on their own and to design a system using techniques and principles learned in other courses. This is an ideal course for those interested in getting real worldexperience in building software and communicating with others.PrerequisitesCOMP 410 and 411 plus two additional COMP courses numbered 426 or higher. The additional two courses will ideally cover software tools, techniques or principles.Goals and Key Learning ObjectivesAt the end of the course, each student will have experienced all aspects of a software development project, including- working with a client to define goals and priorities- designing a system- scheduling and planning a multi-person project- effective communications- running meetings- writing technical documentation- preparing web content- writing and testing code- deploying the system- public presentationsCourse Requirements and GradingThe essence of the course is the faculty-coached team project. Teams of 3-4 students spend the semester negotiating, estimating, scheduling, specifying, coding, debugging, integrating, documenting and testing a substantial programming product. Each project has a real client that is expecting a completed project. Each document will be submitted to the professor in draft form and will be revised based on comments. In addition, documentation needs to be maintained to reflect changes in the product that is being produced.There will be no written exams; there may be individual assignments given to cover the key concepts of the course that are not well reinforced through the project and to exposeyou to the literature in the field. There are a lot of new things happening in the field of software engineering that you are not exposed to within the department's curriculum. Each team will present a technologyfrom a provided list or one that they are using that has not been taught in other classes. Teams will give a 30-40 minute presentation to the class.Project grades are based on code, documentation, ambition, effort, teamwork, and accomplishment. This includes attendance at meetings and the fulfillment of milestones for those meetings.The final exam is a presentation of the end product.Grading CriteriaOverall breakdown- Project 85%- Technology talk: 15%Project: I compute a single grade for the project, based on the following percentages:- Process 20%- Code 45%- Documentation 20%- Midtem presentation 5%- Final Presentation 10%I then apply an individual contribution multiplier for each person. This value is based on my observations as well as the evaluations by your client, any consultants, and your peers. The multiplier ranges from .7 to 1.1, but a value above 1 is only used in exceptional cases. Basically, I do not believe that you should be able to get a better grade than the product you produced.A few more details:- Process includes whether you are interacting appropriately as a team, with me, and with your client. Are you addressing issues as they arise? It includes professionalismin your dealings with your client and your professor and whether you are usually on time with deliverables or habitually late. It includes your web site and the materials that you produce as steps to produce the other artifacts. I will be evaluating 3 process phases: the requirements phase, the design and implementation phase, andthe completion. The reason for that is to recognize that there are different processes and issues during different phases of the project.- The code grade covers function, correctness and readability. The three components are equally important. Have

View Full Document
Download Syllabus
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...

Join to view Syllabus and access 3M+ class-specific study document.

We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Syllabus 2 2 and access 3M+ class-specific study document.


By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?