Foundations of Software Engineering

Last modified on November 01, 2020

Questions

  • When is a program correct ample to ship? Own you constructed what the consumer wished?
  • Why (and the diagram) does Netflix intentionally and randomly retract down its private servers?
  • What can we be taught from the Boeing 737 disaster?
  • How did Twitter eradicate the Fail Whale? And what does it need to make with Ruby?
  • How make you salvage a patch permitted into an originate-offer undertaking?
  • Which you'll be able to even write code. Can you accomplish machine?

Overview

Successful machine initiatives require larger than aim right technical abilities. Figuring out what the consumer needs, participating in a workforce, managing complexity, mitigating dangers, staying on time and funds, and determining beneath fairly a couple of constraints when a product is correct ample to be shipped are now not decrease than equally essential matters that usually private a main human issue. 17-313 explores these issues broadly overlaying the basics of up-to-the-minute machine engineering.

Quality and feature conflict
Assuming fairly stable programming skills (together with unit testing and code-stage compose), we are able to stumble upon the next matters:

  • Project consideration for machine development

    (How make steer tear of issues early? When and the diagram a lot to compose? When and the diagram a lot to try? When and easy be taught learn how to contain the purchasers? Agile options...)

  • Requirements elicitation, documentation, and analysis
    (Straightforward be taught how to determine what the consumer in precise reality needs? Who else has an passion? How can we measure success objectively? How can we reliably doc expectations? ...)
  • Produce for high quality attributes Architecture

    (How can we compose a machine with a opinion to scale to thousands and thousands of clients? How can we compose safety right right into a machine? ...)
  • Programs for high quality assurance, together with dimension, inspection, and static and dynamic prognosis
    (What high quality assurance approach is best for a given machine? What can we automate and when must mild we take pleasure in people throughout the loop? How a lot testing and what roughly testing must mild we make? What qualities are essential to say earlier purposeful correctness? Device we assessment usability, scalability, reliability, efficiency? How can we statically assert the absence of clear safety issues? ...)
  • Empirical options in machine engineering
    xkcd 552

    (How can we measure high quality attributes akin to efficiency, safety, and reliability? How can we measure how clients have interaction with the machine? How can we all know whether or not the variation issues? ...)
  • Time and workforce administration
    Network plan

    (Straightforward be taught learn how to estimate the size and expenses of a undertaking? Straightforward be taught learn how to music improvement and dangers to spy issues early? Straightforward be taught learn how to coordinate builders in a workforce? Straightforward be taught learn how to originate and manufacture teams? Straightforward be taught learn how to take pleasure in and encourage workforce individuals? Straightforward be taught learn how to take care of workforce dynamics akin to social loafing? ...)
  • Economics of machine development
    (industrial fashions, outsourcing, originate supply, ...)

This route has a stable technical focus, and entails assignments with and with out programming. Assignments moreover consist of written components. Students will salvage journey with workforce administration and modern machine-engineering instruments. The route locations faculty college students on a quick music in path of undertaking administration positions.

Assignments (primarily executed in teams) consist of:

    FreeCol screenshot
  • An introduction undertaking the place explicit particular person faculty college students will probably be taught to seize with an current code inferior.
  • A necessities undertaking whereby each workforce will interview stakeholders to elicit and doc necessities for a machine machine.
  • An structure undertaking whereby teams will put together and deploy an ML mannequin the utilization of microservices.
  • A undertaking whereby each workforce contributes to an originate supply undertaking of their choice. This entails determining a space throughout the current undertaking, understanding the attain route of of that undertaking and easy be taught learn how to make a contribution, and little question making a contribution akin to fixing a trojan horse or together with a characteristic. Extra credit score will most actually be awarded if the contribution is merged into the undertaking.

Logistics and Folks

Tumble 2020, this route is designated as a hybrid offerring.

  • All lectures will happen over zoom.
  • Two recitations are assigned lecture rooms, when undergraduate in-individual instruction is licensed; two are a ways away-finest. Expose that best individuals registered for a given in-individual recitation would possibly perchance properly additionally aid that in-individual recitation. That is because of this of strict school room functionality necessities.
  • While you happen to would possibly perchance properly additionally probably be assigned to Sections A or B, however know for clear you're making now not need to support in particular person, please contact us to exclaim concerning the best come we're in a position to accommodate you.

Lectures:

  • Tue/Thu 3: 20-4: 40 p.m. ET on Zoom

Recitations:

  • Wed 1: 20-2: 10 p.m. ET in WEH 5403 (Part A)
  • Wed 2: 40-3: 30 p.m. ET in WEH 5409 (Part B)
  • Fri 1: 20-2: 10 p.m. ET on Zoom (Part C)
  • Fri 2: 40-3: 30 p.m. ET on Zoom (Part D)

Professor Claire Le Goues
Office hours: Fri 9: 15 - 10: 15 am, 12: 30 - 1: 30 pm
Electronic mail: clegoues@cs.cmu.edu

Professor Michael Hilton
Office hours: TBD
Electronic mail: mhilton@cs.cmu.edu

Christopher Meiklejohn
Office hours: Tue 7: 00 - 8: 00 PM, Wed 10: 00 - 11: 00 AM
Electronic mail: cmeiklej@cs.cmu.edu

Please be at liberty attain out to the instructors on Slack out of doorways of workplace hours in case it's seemingly you may perchance perchance properly probably additionally private any questions; we are going to try and reply to you as like a flash as attainable, and are homosexual to area up advert hoc zoom conferences every time attainable.

Schedule

The following agenda describes the current planing plan and the coated concepts. It's space to alternate and must mild be up to this point as a result of the semester progresses, particularly to assist take care of requested matters or improve studying. The readings are nearly persistently related to a studying quiz; please check Canvas!

DateTopicReading assignments*Assignments due*
1-SepIntroduction
2/4-SepTools for collaborative machine developmentrec1 Recitation 1
3-SepMetrics and MeasurementScheduling/background surveys
8-SepCase See: 737-MAXSeattle Cases Article on the Boeing 737 Max
9/11-SepDocker and Docker Originaterec2 Recitation 2
10-SepMilestones, Estimation, and PlanningHomework 2 PDF
15-SepTool archaeologyhw1 Homework 1
16/18-SepTool Archaeologyrec3 Recitation 3
17-SepRequirements: Ideas and ChallengesRoute notes on necessities
22-SepRequirements: Elicitation and DocumentationInterview ask prephw2 Homework 2 (Initial Thought)
23/25-SepRequirements Interviewsrec4 Recitation 4
24-SepEthicsEthics in know-how suggested
29-SepTool Engineering for Machine Discovering outhw2 Homework 2 (Code Artifacts)
30-Sep/2-OctTool Requirementsrec5 Recitation 5
1-OctTool Engineering for Machine Discovering out, Part 2
Demo Notebook
hw2 Homework 2 (Reflection)
6-OctTool Architecture -- Intro and OverviewTwitter Case See
7/9-OctMachine Discovering outrec6 Recitation 6 Setup
rec6 Recitation 6
8-OctArchitecture: Documentation, Patterns, TacticsArchitecture Travelogue
13-OctArchitecture: Produce DoctorsDiagram Produce
14/16-OctMidterm Review
15-OctMicroserviceshw3 Homework 3
20-OctDevOps
21/23-OctMidterm Review
22-OctMidterm
27-OctQA & Trying outNetflix weblog posts on AWS, Chaos Monkey, Simian Armyhw4 Homework 4a
28/30-OctKubernetesrec7 Recitation 7
29-OctChaos Engineering
3-Novhw4 Homework 4b
NOTE: DUE NOV 4
4/6-NovGremlin
5-NovStatic Analysishw4 Homework 4c
NOTE: DUE NOV 6
10-NovML Explainability and Trying outhw4 Homework 4d
11/13-NovAgile Programs
12-NovML Explainability and Trying out, Part 2
17-NovQA Project
18/20-NovGroup Dysfunction
19-NovQA Project, Part 2
24-NovThanksgiving Week
25/27-NovThanksgiving Week
26-NovThanksgiving Week
1-DecGroup Disorders, Motivation, Code Review
2/4-DecOpen Offer
3-DecCode Review, Agile, XP
8-DecInterviewing
9/11-DecOffice Hours for Final Project
10-DecTBD
TBDFinal Exam

=For tiny print, watch undertaking in Canvas.

Route Syllabus and Insurance insurance policies

The route will make use of zoom for lectures, a ways away recitation, and workplace hours; hyperlinks are readily available through Canvas. The route makes make use of of Canvas (and Gradescope) for homework submission, grading, dialogue, questions, bulletins, lecture recordings, and supplementary paperwork; slides will most actually be posted proper right here; GitHub is extinct to coordinate neighborhood work. We are in a position to moreover make use of Slack for verbal change and neighborhood work. Ogle Canvas for the be a part of hyperlink.

Waitlist: We assume the waitlist is cleared; in case you disagree or are having ache enrolling, please contact us.

Have to haves: No formal necessities, however it's seemingly you may perchance perchance properly salvage extra out of the route in case it's seemingly you may perchance perchance properly probably additionally private journey with some elevated development initiatives, as an example, through elevated class initiatives (e.g., 17-214, 15-410), internships, or originate-offer contributions.

Dialog: We salvage bulletins through Canvas, together with clarifying homework assignments. We are in a position to moreover be the utilization of Slack each for verbal change with the instructors, and to enhance your neighborhood work verbal change. The instructors and TAs aid weekly workplace hours and are reachable by electronic message and Slack. Reach out for additional appointments.

Teamwork: Teamwork is an well-known part of this route. Most assignments are executed in teams of three-5 faculty college students. Groups will most actually be assigned by the trainer and take pleasure in collectively for a couple of assignments. We are in a position to take pleasure in in thoughts your time zones and availability when assigning teams. Steering on teamwork, reflection, and battle decision will most actually be supplied for the size of the semester and are an well-known issue of the category. Most assignments private an element that's graded to your full neighborhood and an element that's graded in my view. The workforce coverage posted on Canvas applies and describes roles and teams and easy be taught learn how to take care of conflicts and imbalances.

Textbook: Diversified readings for the size of the semester readily available on-line or through the library; we make now not private a single textual content guide however moderately assemble readings from assorted sources. As non-compulsory supplementary studying take pleasure in in thoughts Ian Sommerville, Tool Engineering, seventh or eighth version. Expose that we make now not connect a query to that the bookstore will carry the mature version; as a change, many copies are readily available on-line, akin to through Amazon.com (and heaps different booksellers and textbook reseller) for tremendously decrease than 20USD.

Evaluate: Review will most actually be in line with the next distribution: 60% assignments, 20% midterm, 10% in-class workouts (that may perchance perchance properly even be completed asynchronously), 10% studying quizzes. The midterm will most actually be originate-the whole lot and retract-dwelling, designed to be completed in a normal 80-minute class size, however assigned over a 24-hour size to accommodate fairly a couple of a ways away time zones.

Time administration: That is a 12-unit route, and it is a long way our design to take pleasure in an eye fixed mounted on it in inform that you just use shut to 12 hours per week on the route, on life like. In whole, Four hours/week will most actually be spent in class and eight hours on studying and assignments. Ask that the majority homework is completed in teams, so please story for the overhead and diminished time flexibility that incorporates groupwork. Please be at liberty to offer the route group suggestions on how a lot time the route is taking for you.

Leisurely work coverage: Leisurely work will obtain suggestions however no credit score. Ensuing from heavy reliance on teamwork on this route there are not any behind days. Exceptions to this coverage will most actually be made best in unprecedented situations, nearly persistently fascinating a family or medical emergency---with your tutorial handbook or the Dean of Student Affairs asking for the exception to your behalf. Accommodations for lag (e.g., for interviews) are attainable if requested now not decrease than Three days upfront. Please keep up a correspondence moreover together with your workforce about timing issues.

Writing: Describing tradeoffs amongst selections and verbal change with much less technical stakeholders are key facets of this class. Most homework
assignments private an element that require discussing issues in written originate or reflecting about experiences.
To put together writing skills, the Global Communications Center (GCC) affords one-on-one aid for varsity college students, on the aspect of workshops.
The instructors are moreover homosexual to provide additional steering if requested.

Professionalism:

Your classmates are your colleagues. That is extremely aim right on this route,
the place we intention to provide you with options, practices, instruments, and paradigms
that may aid you be an environment friendly, real-world Tool Engineer. We connect a query to
that you just take care of one one different identical to the professionals it's seemingly you may perchance perchance properly probably additionally probably be and that it's seemingly you may perchance perchance properly probably additionally probably be
making able to be.

To that conclude, we should not be any longer going to tolerate harassement on this class. We define harassment as unwelcome or
adversarial conduct of an advert hominem nature, i.e., that focuses now not on options however on
people and identification. This entails offensive verbal or written feedback in
reference to gender, sexual orientation, incapacity, bodily look, drag,
or religion; sexual pictures in public areas; deliberate intimidation, stalking,
following, harassing pictures or recording, sustained disruption of sophistication
conferences, unfavorable bodily contact, and unwelcome sexual consideration.

Harassment is in opposition to the regulation and we've not any tolerance for it, and neither
does the faculty. Even when conduct wouldn't rise to the stage of harassment (even in case you observed you're "aim right joking!"),
it will mild salvage people very darkish, and harm their tutorial and nice
profession by forcing them
to dedicate psychological vitality to 1 factor assorted than the fabric they're
attempting to be taught or the nice successes they're trying to acheive.
Nonetheless, we connect a query to that we make now not need to threaten you to
manufacture your respect on this subject: we merely connect a query to that you just take care of one one different like
professionals, in primarily probably the most tear sense.

This has two implications:

  • While you happen to're feeling someone is violating these options (as an example, with a joke that
    will most actually be interpreted as sexist, racist, or exclusionary), and likewise you are feeling it's seemingly you may perchance perchance properly probably additionally private
    the standing to make so, keep up a correspondence up! Device now not be a bystander to
    unprofessional conduct.
  • While you happen to are making now not really feel homosexual doing so, and/or if the conduct persists,
    ship a private electronic message to the route instructors or area up a meeting with us to
    talk about the subject. We are in a position to retain your anonymity.

We, the route group, are dedicated to affording you the an identical respect we connect a query to you
to private the funds for one one different. While you happen to're feeling that we're now not doing so, we hope you'll be able to
really feel homosexual each telling us so straight, or impending one different even handed one of
the route group together with your issues.

(Thanks to Shriram Krishnamurthi and Evan Peck for sharing their very private
insurance coverage insurance policies, from which we drew inspiration for this one.)

Academic honesty and collaboration: The on a regular basis insurance coverage insurance policies
apply, particularly
the University
Coverage on Academic Integrity
. Loads of the assignments will most actually be executed in
teams. We connect a query to that neighborhood individuals collaborate with one one different, however that
teams work independently from one one different, now not exchanging outcomes with assorted
teams. Within teams, we connect a query to that it's seemingly you may perchance perchance properly probably additionally probably be upright about your contribution to
the neighborhood's work. This means now not taking credit score for others' work and now not overlaying for workforce individuals that private now not contributed to the workforce. In another case, our expectations concerning tutorial in level of reality and
collaboration for neighborhood work are the an identical as for explicit particular person work,
substituting elevated to the stage of "neighborhood."

The route entails each explicit particular person assignments and explicit particular person components
of neighborhood assignments. Even supposing your options for explicit particular person facets will most actually be in line with
the protest produced for the neighborhood issue (e.g., written reflections on
lessons realized), we take care of explicit particular person issue of neighborhood assignments as
akin to explicit particular person

Read More

Similar Products:

Recent Content