introducton - simon fraser universitywsumner/teaching/373/18/01-intro.pdf · what i彃 thi彃...
TRANSCRIPT
Introducton
CMPT 373Software Deeelopmeent Method彃
Nick Suenertw彃uener@彃fu.ca
Introducton
● Who ae I?– Nick Suener (tw彃uener@彃fu.ca)– Re彃earch Faculty
Introducton
● Who ae I?– Nick Suener (tw彃uener@彃fu.ca)– Re彃earch Faculty
● Who i彃 your TA?– Surpmri彃e! No TA.
Introducton
● Who ae I?– Nick Suener (tw彃uener@彃fu.ca)– Re彃earch Faculty
● Who i彃 your TA?– Surpmri彃e! No TA.
● What i彃 the cour彃e tweb彃ite?– htpm://twtwtw.c彃.彃fu.ca/.tw彃uener/teaching/373/– OR: ju彃t 彃earch for “CMPT 373 彃uener”
Introducton
● Who ae I?– Nick Suener (tw彃uener@彃fu.ca)– Re彃earch Faculty
● Who i彃 your TA?– Surpmri彃e! No TA.
● What i彃 the cour彃e tweb彃ite?– htpm://twtwtw.c彃.彃fu.ca/.tw彃uener/teaching/373/– OR: ju彃t 彃earch for “CMPT 373 彃uener”
● Where can you di彃cu彃彃 cour彃e i彃彃ue彃?– CourSy彃
(htpm彃://cour彃y彃.彃fu.ca/p018彃pmccepmtc373cd1/di彃cu彃彃ion/)
What i彃 thi彃 cour彃e?
● What haee you heard?
What i彃 thi彃 cour彃e?
● What haee you heard?
● My pmer彃pmectee... hand彃 on expmerience– tworkfotw彃– tool彃– pmroject eanageeent– twritng beter code– dealing twith a (pmo彃彃ibly trouble彃oee) cu彃toeer– dealing twith (and aeoiding) pmroblee彃
What i彃 thi彃 cour彃e?
● What haee you heard?
● My pmer彃pmectee... hand彃 on expmerience– tworkfotw彃– tool彃– pmroject eanageeent– twritng beter code– dealing twith a (pmo彃彃ibly trouble彃oee) cu彃toeer– dealing twith (and aeoiding) pmroblee彃
● Slightly diferent than eany cour彃e彃– Le彃彃 eepmha彃i彃 on “getng the right an彃twer”– More eepmha彃i彃 on being atware & u彃ing the right 彃kill彃
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
Start
Ideal
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
Start Progre彃彃 Progre彃彃
Ideal
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
Start Progre彃彃 Progre彃彃 Progre彃彃 Shipm
Ideal
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
Start
Bad
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
StartProgre彃彃
Progre彃彃
Bad
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
StartProgre彃彃
Progre彃彃Progre彃彃
Shipm?
Bad
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
Start
Goal
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
StartProgre彃彃
Progre彃彃
Goal
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
StartProgre彃彃
Progre彃彃Progre彃彃
Shipm
Goal
Correctee Mea彃ure彃and Proce彃彃
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
● Mo彃t graduate彃 twith a CS degree are not ready– Software engineering i彃 about process and awareness– Software deeelopmeent i彃 a craf that require彃 pmractce
Why take thi彃 cour彃e?
● Mo彃t 彃oftware pmroject彃 fail(!)– Upm to 85% depmending on defniton of “failure”
● Mo彃t graduate彃 twith a CS degree are not ready– Software engineering i彃 about process and awareness– Software deeelopmeent i彃 a craf that require彃 pmractce
● Hand彃 on expmerience yield彃 an adeantage– You can beter under彃tand hotw to create a pmroduct that
ha彃 ealue both notw and in the future.
What twill twe be doing?
● On your otwn– Reading (Froe p book彃)– Exerci彃e彃 twith tool彃
What twill twe be doing?
● On your otwn– Reading (Froe p book彃)– Exerci彃e彃 twith tool彃
● In groupm彃 / tutorial彃– One deeelopmeent pmroject twith unclear requireeent彃
What twill twe be doing?
● On your otwn– Reading (Froe p book彃)– Exerci彃e彃 twith tool彃
● In groupm彃 / tutorial彃– One deeelopmeent pmroject twith unclear requireeent彃
● In cla彃彃– Introducton to tool彃 and technique彃– Di彃cu彃彃ion彃 about the reading– Di彃cu彃彃ion彃 about the tool彃– Di彃cu彃彃ion彃 about code
Grading
● Subject to change a彃 nece彃彃ary
● Breakdotwn:– (10%) Re彃pmon彃e彃 to reading– (15%) Quizze彃– (15%) Cla彃彃 di彃cu彃彃ion彃 & code reeietw彃– (40%) U彃eful contributon to 彃eee彃ter pmroject– (p0%) Exerci彃e彃
Reading
● A彃彃igned chunk彃 of reading– Ofen .p00 pmage彃 pmer 1cp tweek彃– Both book彃 are aeailable a彃 ecbook彃 in library
Reading
● A彃彃igned chunk彃 of reading– Ofen .p00 pmage彃 pmer 1cp tweek彃– Both book彃 are aeailable a彃 ecbook彃 in library
● Re彃pmon彃e彃– A p pmage critcal reacton to the reading– Single 彃pmaced– Mu彃t include 3 unit彃 of:
● A quote, twith citaton● 1cp pmaragrapmh彃 di彃cu彃彃ing the quote
– Relate the eaterial to your otwn expmerience彃– Fore an opminion about it, and justff it
Reading
● A彃彃igned chunk彃 of reading– Ofen .p00 pmage彃 pmer 1cp tweek彃– Both book彃 are aeailable a彃 ecbook彃 in library
● Re彃pmon彃e彃– A p pmage critcal reacton to the reading– Single 彃pmaced– Mu彃t include 3 unit彃 of:
● A quote, twith citaton● 1cp pmaragrapmh彃 di彃cu彃彃ing the quote
– Relate the eaterial to your otwn expmerience彃– Fore an opminion about it, and justff it
● Fir彃t a彃彃igneent pmo彃ted afer cla彃彃
Quizze彃
● Popm quizze彃 twill be gieen throughout the cla彃彃
● Coeer eaterial froe:– Reading– Video彃– Exerci彃e彃– Lecture彃– Di彃cu彃彃ion
Di彃cu彃彃ion彃
● Code Reeietw Wedne彃day彃:
Di彃cu彃彃ion彃
● Code Reeietw Wedne彃day彃:– Each groupm twill 彃ubeit .100 line彃 of code each tweek by
Friday, 10pme
Di彃cu彃彃ion彃
● Code Reeietw Wedne彃day彃:– Each groupm twill 彃ubeit .100 line彃 of code each tweek by
Friday, 10pme– I’ll reeietw & 彃elect 1 or p to 彃end to the cla彃彃
(I eay choo彃e 彃oee other code entrely)
Di彃cu彃彃ion彃
● Code Reeietw Wedne彃day彃:– Each groupm twill 彃ubeit .100 line彃 of code each tweek by
Friday, 10pme– I’ll reeietw & 彃elect 1 or p to 彃end to the cla彃彃
(I eay choo彃e 彃oee other code entrely)– Indieidual reeietw彃 due by 10pme Tue彃day彃
Di彃cu彃彃ion彃
● Code Reeietw Wedne彃day彃:– Each groupm twill 彃ubeit .100 line彃 of code each tweek by
Friday, 10pme– I’ll reeietw & 彃elect 1 or p to 彃end to the cla彃彃
(I eay choo彃e 彃oee other code entrely)– Indieidual reeietw彃 due by 10pme Tue彃day彃– We twill reeietw the code together in cla彃彃 on Wedne彃day.
Di彃cu彃彃ion彃
● Code Reeietw Wedne彃day彃:– Each groupm twill 彃ubeit .100 line彃 of code each tweek by
Friday, 10pme– I’ll reeietw & 彃elect 1 or p to 彃end to the cla彃彃
(I eay choo彃e 彃oee other code entrely)– Indieidual reeietw彃 due by 10pme Tue彃day彃– We twill reeietw the code together in cla彃彃 on Wedne彃day.
● In cla彃彃 di彃cu彃彃ion彃 of both code & reading彃 focu彃 theeatcally on one core i彃彃ue:
Coepmlexity
Seee彃ter pmroject
● You twill interact twith ee a彃 a cu彃toeer in tutorial彃
Seee彃ter pmroject
● You twill interact twith ee a彃 a cu彃toeer in tutorial彃
● The requireeent彃 of the pmroject will change
Seee彃ter pmroject
● You twill interact twith ee a彃 a cu彃toeer in tutorial彃
● The requireeent彃 of the pmroject will change
● You twill u彃e (and be eealuated in pmart on) 彃kill彃 froe the exerci彃e彃 in the pmroject
Seee彃ter pmroject
● You twill interact twith ee a彃 a cu彃toeer in tutorial彃
● The requireeent彃 of the pmroject will change
● You twill u彃e (and be eealuated in pmart on) 彃kill彃 froe the exerci彃e彃 in the pmroject
● Diferent teae彃 eay receiee diferent requireeent彃
Seee彃ter pmroject
● You twill interact twith ee a彃 a cu彃toeer in tutorial彃
● The requireeent彃 of the pmroject will change
● You twill u彃e (and be eealuated in pmart on) 彃kill彃 froe the exerci彃e彃 in the pmroject
● Diferent teae彃 eay receiee diferent requireeent彃
● You 彃hould expmect to personallf contribute >= 1K quality SLOC in order to receiee a good grade
Project code pmolicy
All code pmu彃hed to a pmroject repmo彃itory eay be eietwed, analyzed, and critqued by all 彃tudent彃 in class (eeen in future 彃eee彃ter彃).
Project teae彃
● A彃彃igned teae彃 of upm to 8
Project teae彃
● A彃彃igned teae彃 of upm to 8
● Follotwing an inforeal 彃crueclike pmroce彃彃– Each tutorial eeetng twill ineolee:
● Di彃cu彃彃ion of twhat you did 彃ince the la彃t eeetng● What the pmre彃ent ob彃tacle彃 are to eeetng goal彃● A pmlan for the next eeetng
Project teae彃
● A彃彃igned teae彃 of upm to 8
● Follotwing an inforeal 彃crueclike pmroce彃彃– Each tutorial eeetng twill ineolee:
● Di彃cu彃彃ion of twhat you did 彃ince the la彃t eeetng● What the pmre彃ent ob彃tacle彃 are to eeetng goal彃● A pmlan for the next eeetng
● I twill act a彃 both cu彃toeer & coach
Goal彃
● Writng good code a彃 a teae– Soee teaeeate彃 twill twrite twell froe the beginning.– Soee twill need helpm froe teaeeate彃.
Goal彃
● Writng good code a彃 a teae– Soee teaeeate彃 twill twrite twell froe the beginning.– Soee twill need helpm froe teaeeate彃.– Working together i彃 the only real tway.
Goal彃
● Writng good code a彃 a teae– Soee teaeeate彃 twill twrite twell froe the beginning.– Soee twill need helpm froe teaeeate彃.– Working together i彃 the only real tway.– Thi彃 i彃 ju彃t a彃 true in indu彃try.
Goal彃
● Writng good code a彃 a teae– Soee teaeeate彃 twill twrite twell froe the beginning.– Soee twill need helpm froe teaeeate彃.– Working together i彃 the only real tway.– Thi彃 i彃 ju彃t a彃 true in indu彃try.
● Manage coepmlexity & change– Requireeent彃 twill change in pmractce.– I twill try to change requireeent彃 that force de彃ign
change彃.
Goal彃
● Writng good code a彃 a teae– Soee teaeeate彃 twill twrite twell froe the beginning.– Soee twill need helpm froe teaeeate彃.– Working together i彃 the only real tway.– Thi彃 i彃 ju彃t a彃 true in indu彃try.
● Manage coepmlexity & change– Requireeent彃 twill change in pmractce.– I twill try to change requireeent彃 that force de彃ign
change彃.– Beter de彃ign彃 & pmroce彃彃 twill eake the tran彃iton彃 ea彃ier.
And twe’re of...