[MIZIK jwe] Doug Lloyd: OK. Se konsa, kite pou nou pale sou jan yo ka itilize liy la bay lòd Linux. Koulye a, CS50 IDE a, oswa nan reyalite, menm yon aparèy CS50, si w ap abitye ak sa, oswa w ap pran yon ansyen vèsyon CS50, se yon machin nwaj ki baze sou ki te kouri Ubuntu, ki se youn nan gou yo anpil nan sistèm nan fonksyone Linux. Sistèm opere Linux se te favorize pa pwogramasyon, paske li nan jis pi fre, dwa? Anpil modèn Linux distribisyon gen grafik interfaces itilizatè, ki nou menm tou nou rele GUIs, G-U-I, nan pèmèt fasil Navigasyon sourit ki baze sou, kote ou ap pwobableman abitye avèk, si ou se yon Windows oswa Mac itilizatè, deplase sourit ou a, doub-klike sou ikon, ak sou sa. Toujou menm si, kòm yon pwogramè, e menm si IDE a gen kapasite nan fè kèk itilizatè grafik bagay, klike, ak trenen ansanm ak tou sa, ou pral toujou lè l sèvi avèk ou fenèt tèminal bèl souvan. Epi ou ka fè anpil nan la travay menm ke ou ka fè ak yon sourit ak kòmandman klavye. Epi nou ap ale nan pale yon ti kras sou sa ki kèk nan moun kòmandman yo kounye a. Koulye a, kòmandman sa yo kapab itilize sou nenpòt ki opere UNIX ki baze sou sistèm, ki gen ladan Linux, men tou, gen ladan Mac OS. Si ou louvri moute Tèminal sou Mac ou, ou ka itilize kòmandman egzak sa yo. Windows tou te gen Kòmandman Èd Memwa, men kèk nan kòmandman yo se yon ti kras diferan, se konsa li pa aktyèlman ap travay, paske Windows se pa yon sistèm UNIX ki baze sou. Se konsa, kite a pran yon gade nan kèk nan sa yo kòmandman Linux. Yon sèl nan premye ki ou pral pwobableman itilize byen yon anpil se ls. Sa se yon l miniskil, ki te swiv pa yon miniskil a, ki se kout pou lis. Ak sa ki lis yo lòd, ki fè se li ba ou yon sorti nan tout dosye yo ak dosye nan anyè ou ye kounye a. Se konsa, ou ka wè tout sa ou kapab li ale nan soti nan kote ou kounye a ye. Se konsa, mwen te louvri moute isit la IDE nan CS50. Apre sa, mwen pral rale-a nan yon dezyèm l 'ban nou yon gade pi pre, men isit la nan foto a gwo nan sa ki IDE a sanble. Sou bò gòch la, ou ka wè nou gen yon pye bwa ranpli, kote ou ap pwobableman abitye avèk, doub-klike, ak dosye ak dosye ansanm ak tou sa lòt bagay. Se konsa, sa a, se toujou la nan aparèy la CS50. Nan sant la nan tèt la se kote w ap ale nan dwe ekri kòd ou a, yon fwa ou klike sou yon dosye. Apre sa, nan pati anba a, nou gen yon fenèt tèminal, ki se kote nou ka egzekite kòmandman tèminal sa yo. Mwen pral rale-nan ak tèt sou isit la, jis montre w ki, an reyalite, mwen kapab klike sou dosye sa yo ak kle flèch. Se konsa, byen klè, kote mwen kounye a menm ki, mwen gen de dosye, rele pset0 ak pset1, ak twa dosye, yon sèl rele hello, yon sèl rele hello.c, ak youn rele hello.txt. Se konsa, kite yo deplase desann nan tèminal la fenèt epi pou yo jwenn yon gade pi prè ou. Se konsa, nou jis te pale osijè, ankò, sou la reyalite ki nou gen twa dosye ak de dosye nan anyè aktyèl la. Si m 'tape ls, ki ankò se yo lòd, ki nan lis sa ki nan aktyèl la anyè, ak Lè sa a mwen frape Antre, gade ki sa mwen wè, hello, hello.c, hello.txt, pset0 ak pset1. pset0 ak pset1 yo sifas ki gen koulè ble, ki endike nou sa sa yo se repèrtwar ke nou te kapab navige nan. Epitou, n ap aprann yon ti kras ti jan sou ki jan yo navige nan repèrtwar nan yon minit. Epi se tout bagay lòt ki gen koulè pal nwa, si li nan yon dosye tèks oswa yon kòd sous ranpli, ak vèt, si li nan yon dosye ègzèkutabl. Se konsa, byen klè, sa vle di ke mwen te kapab kouri nan yon pwogram yo rele, hello. Sa a ki sa yon sèl nan vèt gen vle di. Men, fondamantalman, ou tape nan te ls lòd pèmèt m 'fè yon gade nan tout bagay ki egziste nan anyè mwen ye kounye a, ki alimèt sa nou wè isit la, nan la grafik ekspozisyon nan menm bagay la. Lòd nan pwochen ou pral pwobableman itilize byen yon ti jan se CD, miniskil c, miniskil d, ki se kout pou yon chanjman anyè. Sa pèmèt nou fè sa m 'te ap pale de yon dezyèm Anons sa pibliye depi, ki se navige ant repèrtwar nan yo lòd, ki liy, kòm opoze a doub-klike sou dosye. Se konsa, si nou tape cd ak Lè sa a non an nan yon anyè, nou ka jwenn nan ki anyè. Kòm yon sou kote, konnen ke non an nan anyè aktyèl la se toujou dot, ak non an nan anyè a yon nivo pi wo a kote nou ye kounye a, ki se non an nan folder nan nan ki katab nou an, se, dot, dot-- oswa nan ki folder nou an, se, se dot, dot. Epi si w ap kirye de tout tan tout tan non an nan anyè ou, ou ka tape PWD, ki vle di pou prezan anyè ap travay. Nou pral pran yon gade nan tout moun sa yo kounye a, pa tit tounen nan IDE nan CS50. Se konsa, mwen tounen nan vorkspas mwen kounye a. Apre sa, mwen pral rale-an ankò sou la tèminal, pou nou ka pran yon gade nan k ap deplase alantou nan IDE a. Se konsa, mwen pral nan lis la Sa ki nan anyè m ' ankò, jis yo rbrwaye nou nan kote nou ye. Se konsa, si mwen tape ls, ki se pou lis ankò, Mwen wè ke mwen ka ale nan pset0 ak pset1. Moun sa yo se repèrtwar yo Mwen kapab ale nan soti isit la. Mwen konnen ke, paske IDE a bay m 'yon siy pa koloran yo ble. Se pou nou di ke mwen vle jwenn nan anyè pset1 mwen, paske mwen ap travay sou pwoblèm mete 1. Mwen ka tape cd-- ankò, kout pou chanje espas anyè, pset1. Men, si mwen frape Antre, avi sa ki rive. Li pa sanble li te yon anpil te pase. Men, si ou gade nan èd memwa a, li kounye a di m 'ke mwen se nan ~ / vorkspas / pset1. Mwen te navige nan pset1 nan katab ki te nan vorkspas mwen. Men, si mwen tape ls, mwen wè kèk diferan bagay isit la, dwa? Sa a se pa menm bagay la tou lis a, mwen wè anvan. Mwen te navige nan pset1. Se konsa, koulye a, lè mwen tape ls, mwen ap resevwa yon kontèks la nan ki sa mwen kapab wè soti nan folder nan pset1. Koulye a, mwen pral tape kontwòl l, ki jis efase ekran an. Apre sa, mwen pral nan lis la Sa ki nan anyè a ankò, jis konsa ou ka wè. Mwen jis te vle fè ke yo klè soti kèk nan bagay la ke ou te wè desann anba a ak yo anpeche sa a soti nan pral twò lwen desann sot nan pòte. Koulye a, mwen te di byen bonè sa a, si mwen vle navige nan anyè aktyèl la, Mwen ka tape cd espas dot. Frape Antre nan. Li pa fè anyen, dwa? M 'ap chanje repèrtwar nan anyè aktyèl la. W ap pa toujou ale nan jwenn yon bezwen pou yon sèl dot, men ou pral detanzantan. Se pou nou di ke mwen vle pou avanse pou pi moute yon sèl nivo. Mwen vle jwenn tounen nan anyè vorkspas mwen. Mwen pa ka tape cd vorkspas, gen nan pa gen dosye sa yo oswa anyè. Ak rezon an pou that-- si mwen tape ls yon sèl plis time-- se ke pa gen okenn anyè rele vorkspas andedan nan anyè pset1 mwen. Mwen pral klè m ' ekran ankò ak kontwòl l. Sonje sa m 'te di pi bonè, menm si, ke nou ka navige tounen ak dot, dot. Sa a non an nan anyè a paran. Se konsa, si mwen tape cd, espas, dot, dot, ak Lè sa frape Antre, kounye a gade nan sa ki te pase. Èd memwa lòd mwen di m 'ke mwen se tounen nan anyè ~ / vorkspas mwen. Mwen te deplase moute yon nivo, gras a dot, dot. Koulye a, kite a di ke mwen lè l sèvi avèk yon sistèm opere se sa ki Linux ki baze sou, men li pa nesesèman fè m 'konnen kote m' prale. Sa a yon sèl k ap pase nan di nou ke Mwen se nan ~ / vorkspas kounye a, dwa nan èd memwa a. Men, mwen ta ka konplètman pèdi nan yon dezòd nan dosye, ak mwen pa gen okenn lide kote m 'prale ak okenn lide kote mwen vle jwenn tounen nan. Genyen de bagay ke mwen ka fè. Premye a tout, mwen kapab konnen konnen ki kote mwen menm, lè ou tape PWD. Sa a anyè k ap travay prezan m 'yo. Men, si mwen frape Antre, li di m 'egzakteman ki kote mwen ye menm. Koulye a, / Home / ubentu se nan lontan fason pou li di: tild, ki se anyè lakay ou. Men, li di m 'ke mwen se nan home / ubentu / vorkspas, oswa ~ / vorkspas. Mwen pral navige nan anyè pset1 mwen ankò, ak mwen pral nan lis sa ki. Apre sa, mwen wè ke mwen gen yon lòt anyè a, rele depans siplemantè. Se konsa, mwen pral CD nan depans siplemantè, ak Lè sa a, mwen pral klè ekran m 'yo. Se konsa, kounye a, mwen se trè byen lwen nan, dwa? E si mwen vle tounen vorkspas imedyatman? Genyen yon koup bagay mwen te kapab fè. Mwen te kapab tape cd, dot, dot, koupe, dot, dot, pou avanse pou pi moute yon nivo ak Lè sa a yon lòt nivo. Men, sa a kalite anmèdan. Se konsa, si mwen janm vle jwenn tounen nan jis anyè lakay mwen, tild, Mwen ka tape cd ak pa gen anyen apre li. Cd, Antre nan. Epi, koulye a, mwen se nan tild. Men, si mwen vle pou li ale nan vorkspas, Mwen ka jis tape cd vorkspas. Epi sa a, ki jan ou travay chanje repèrtwar nan IDE la CS50 oswa nenpòt Linux sistèm opere nan liy lan lòd. Tout dwa. Yon sèl nan pwochen ki ta ka vini an sou la men se mkdir, ki se kout pou fè yon anyè, si mwen bezwen yo kreye yon nouvo folder. Si w ap abitye ak sistèm nan fonksyone entèfas, ou ta ka dwa-klike sou. Lè sa a,, lè meni an kontèks Pops leve, chwazi New Dosye. Sa a pwobableman ki jan ou te fè l 'anvan an. Men, nou ka kreye tou repèrtwar nan liy lan lòd. Se konsa, nou ap tounen nan IDE a. Mwen pral rale-an sou tèminal nan ak lis sa ki nan anyè m ' ankò, jis ban nou yon ankadreman nan referans. Se pou nou di sa, kounye a, mwen te fini travay sou pwoblèm mete 0 ak pwoblèm mete 1. Se konsa, mwen vle kreye yon nouvo anyè nan travay sou pou pwoblèm mete 2. Kouman pou mwen fè sa? Bon, ankò, mwen te kapab dwa-klike sou nan la kite bò gen epi chwazi New Dosye ak kreye yon anyè pset2. Sa ta travay tou. Men, Lè sa Mwen menm mwen te fè l 'nan la liy lòd trè byen vit, pa sezisman mkdir, galeri-mwen tape nan n, but-- pset2 espas. Si m 'frape Antre ak Lè sa a mwen lis la Sa ki nan anyè m 'ankò, Mwen wè ke, gade, kounye a Mwen gen yon katab pset2. Apre sa, mwen ka navige nan ki lè l sèvi avèk CD ak fè tout travay la mwen bezwen fè pou pset2. Dmeran, mwen pral jis pòp sou isit la vrèman byen vit bò pyebwa ki dosye-a. Epi ou ka wè ke, tou, nan grafik Explorer a File, nou ka wè ke anyè a pset2 te tou yo te kreye a. Apre sa, mwen ka navige nan li, lè l sèvi avèk entèfas a tou. Tan nan pwochen e ke sa a pwobableman ale nan vini an sou la men se CP, ki se kout pou kopi. Kopi, kontrèman ak tout lòt nan kòmandman nou te wè anvan, pran de agiman, yon sous, nan non nan dosye a ke ou vle a kapab bay kopi, ak yon destinasyon, kote ou vle a kapab bay kopi dosye a nan. Li trè fasil a kapab bay kopi yon dosye, kidonk kite a fè sa. Se konsa, nou ap tounen nan IDE a. Mwen pral lis sa ki nan anyè aktyèl mwen ak ls. Koulye a, kite a di ke mwen vle fè yon kopi hello.txt. Yon lòt fwa ankò, ki soti nan pye bwa a dosye sou la kite, koòdone nan grafik, Mwen te kapab dwa-klike sou hello.txt, fè yon kopi, keratin kopi a. Men, mwen ka fè l 'trè byen vit nan liy la bay lòd tou. Se pou nou di mwen vle a kapab bay kopi hello.txt hi.txt. Mwen kapab CP, espas, hello.txt. Sa a dosye sous m 'yo, se konsa Se poutèt sa Mwen pral chwazi ke yon moun an premye. Lè sa a, mwen bezwen nan non an dosye destinasyon, hi.txt. Mwen frape Antre nan. Men, si mwen lis sa ki nan mwen an anyè ankò, gen nan hi.txt. Mwen te fè yon kopi li. Ak nan reyalite, si mwen te ale nan hi.txt, mwen te kapab wè ke li ta pwal genyen yon egzak kopi de tout bagay ki te egziste nan dosye hello.txt mwen. Se konsa, sa a, se ki jan ou kopi yon dosye. Men, sa ki si ou vle kopi yon anyè tout antye? Se konsa, pou yon dezyèm fwa, kite a pran yon gade nan sa ki nan nan anyè pset0 mwen. Si m 'pset0 CD ak lis sa ki, Mwen gen yon anyè rele, echantiyon, ak yon dosye grafouyen, scratch.sb2. Se konsa, sa a, se bon yo konnen. Se konsa nou klè ekran an, ak mwen pral ale tounen nan anyè vorkspas mwen an pou yon dezyèm fwa. Se pou nou di sa, kounye a, mwen vle fè yon kopi nan anyè pset0 mwen. Mwen pa ka jis di cp pset0 pset3, pou egzanp. Ou jwenn mesaj etranj sa a, omissions anyè pset0. Poukisa ou jwenn ke mesaj? Oke, li sanble ke, lè ou gen yon anyè ki gen lòt bagay andedan nan li, yo lòd, ki CP pa reyèlman nesesèman konnen ki sa fè ak li. Nou bezwen klèman di Linux, tèminal la, Mwen vle ou a kapab bay kopi nan anyè pset0 ak kopi chak folder ki egziste andedan nan li ak tout dosye ki egziste andedan nan li. Nan lòt mo, mwen bezwen ou a recursive plonje desann nan pset0 , epi fè yon kopi tout bagay nan la. Si m 'vle fè sa, sa mwen kapab fè se CP-r, pou repetitif, pset0 pset3. Frape Antre nan. Koulye a, si mwen lis la Sa ki nan anyè m 'yo, Mwen wè gen nan pset3 nan anyè ke mwen ka travay avèk yo. Men, si mwen CD nan pset3 kounye a epi yo Lè sa a, lis sa ki, gade, gen nan echantiyon ak scratch.sb2 ankò. Se konsa, sa a, se trè fre. Se konsa, sa a, se ki jan ou ka kopye yon tout anyè, epi li pa jis yon dosye sèl. Se konsa, si ou vle kopi yon anyè, jis sonje yo sèvi ak drapo a -r lè w ap travay ak yo lòd, ki CP. Tout dwa. Se konsa, mwen te kopye yon dosye, men Mwen te fè l 'pa erè. Epi, koulye a, mwen vle debarase m de li. Kouman pou mwen fè sa? Yon fwa ankò, si w ap abitye ak yon koòdone entèfas, ou ka dwa-klike sou ak jis chwazi Efase. Epi, se pral voye li nan la fatra oswa Resikle Bin a. Men, nan liy la bay lòd, nou ka jis tape RM, pou retire, ak Lè sa a non an nan la ranpli nou vle debarase m de. Koulye a, RM se anpil prekosyon. Li fè sa ki yon anpil nan doub-tcheke, a asire w ke ou aktyèlman vle efase dosye a. Li pa vle fè okenn erè, paske gen nan pa gen Resikle Bin isit la. Yon fwa nou efase yon dosye, li nan ale. Apre sa, gen nan reyèlman pa gen fason yo kapab reprann li. Se konsa, nou bezwen yo dwe bèl atansyon, ak pou RM ki pral yo dwe reyèlman atansyon pou nou. Se konsa, kite yo ale tounen nan IDE a ak debarase m de ke dosye hi.txt ke mwen kreye yon minit de sa ak kopi. Se konsa, nou ap nan IDE a. Apre sa, mwen lis sa ki nan anyè m ' ankò, jis bay nou kèk kontèks. Mwen vle di, ou ka wè ke gen nan hi.txt, ki mwen te kreye yon ti tan de sa. Koulye a, mwen vle debarase m de li. Kouman pou mwen fè sa? Yon fwa ankò, jis RM. Se konsa, mwen ka tape RM hi.txt ak frape Antre nan. Apre sa, nan ke yo te RM reyèlman atansyon pou nou epi asire nou aktyèlman vle efase sa a ranpli. Èske ou reyèlman vle retire regilye dosye hi.txt vid? Se jis tankou yon operasyon sistèm, tankou Windows oswa Mac, ke ou ta ka gen abitye avèk eklate moute ki bwat di yo ou reyèlman w ke ou vle fè sa a. Mwen se trè asire w mwen vle sa a, se konsa mwen pral tape, yes-- oswa mwen te kapab tou jis tape y-- ak frape Antre nan. Men, si mwen lis sa ki nan mwen an anyè ankò, se hi.txt ale. Pa move, dwa? Se pou yo Kontwòl laprès L, jis yo debarase m de tout bagay sa a epi pou yo jwenn nou tounen nan tèt la nan ekran an. Koulye a, gen se yon fason yo RM kous kout, se konsa ke li pa mande nou kesyon sa a. Nou vrèman konnen nou vle yo debarase m de ki ranpli, epi nou pa menm vle yo dwe mande kesyon an. Ki jan nou fè sa? Bon, nou ka presize yon siplemantè drapo, jis tankou nou te fè ak CP kote nou ta ka ajoute drapo a -r, recursive kopi nan yon anyè. Genyen yon lòt drapo pou RM, ki se -f, ki se fòse RM fè egzakteman sa n ap di li fè. Se konsa nou di sa, kounye a, mwen vle yo debarase m de dosye hello.txt mwen. Mwen pa vle ke yon moun swa. Kisa mwen ka fè? Oke, mwen ka RM -f hello.txt. Ki sa ou panse se pral rive isit la? Li nan ale. Pa t 'menm mande m' kesyon an. Lè an reyalite, si mwen lis sa ki nan anyè m 'ankò, li nan ale. Gen nan pa gen defèt isit la. hello.txt se ale, e mwen pa t ' menm mande si mwen te vle efase li. E si mwen vle debarase m nan yon anyè tout antye? Wout la ou fè sa se trè menm jan ak kopi. Si ou vle efase yon anyè, ou pa fè sa jis vle efase anyè a, ou vle yo efase tout bagay andedan nan li. Se konsa, ou sèvi ak -r, nan recursive efase yon anyè. Se konsa nou RM -r pset2. M 'ap pa aktyèlman ap travay sou pset2, Se konsa, mwen ka debarase m de ki anyè. Mwen frape Antre nan. Èske mwen vle retire anyè, pset2 la? Wi, mwen fè. Men, si mwen lis sa ki nan anyè mwen ankò, li nan ale. Tout dwa? Youn nan pi plis varyasyon sou tèm sa a. Se konsa, mwen pral klè ekran an ankò, yo mete tout bagay nan tèt la. Frape ls. Koulye a, mwen vle debarase m nan anyè pset3 mwen, ak mwen vrèman konnen mwen vle debarase m de anyè pset3 mwen. Mwen kapab recursive ak lafòs retire anyè pset3 mwen. Koulye a, w ap ale nan dwe reyèlman atansyon lè w ap itilize RM -rf. Kòm ou pwogram plis, li pral yon bagay ou jis fè vrèman byen vit. Ak nan reyalite, mwen fè l 'tout tan tout tan an. Men, li kapab mennen nan kèk konsekans dezastre, si ou aksidantèlman efase bagay la mal. Se konsa, mwen vle ou yo dwe konnen ke sa a se yon opsyon ki disponib nou la a, men sèvi ak li ti kras, epi sèvi ak li avèk prekosyon. Mwen konnen pou yon reyalite mwen pa ap travay sou pwoblèm mwen mete 3 ankò, se konsa mwen ale nan debarase m de tout moun ki dosye. Apre sa, mwen konnen mwen pa vle ap mande chak fwa yon sèl si mwen vle efase yon dosye, se konsa mwen pral RM -rf pset3. Pa t 'menm mande m' si mwen te vle debarase m de li. Mwen frape ls. se pset3 ale. Se konsa, sa a, se tout varyasyon sa yo ke ou ka itilize yo debarase m de dosye ak RM. Lòd dènye liy lòd nan sa a, se ale nan bèl itil pou ou se MV, ki se kout pou deplase. Deplase se fondamantalman ekivalan a chanje non. L ap deplase yon dosye soti nan yon kote nan yon lòt, sous la nan destinasyon an. Se pou nou wè ki kote w ap itilize yon fòs mouvman gen sou la men nan fenèt la tèminal. Se konsa, mwen se nan pset1 mwen anyè, e mwen te remake te yon bagay ale yon ti kras mal. Mwen te ap travay sou pwoblèm visye mwen, men aksidantèlman mwen rele l 'greddy. Se konsa, lè mwen eseye epi kouri l 'nan check50, li pa reyèlman travay. M 'fè gen yon koup nan opsyon. Nou te kapab fè sa nou te fè anvan, ki se fè yon kopi dosye a. Mwen te kapab kopi greddy.c greedy.c, dwa? Frape Antre nan. Mwen wè ke tou de dosye ki genyen. Lè sa a, mwen te kapab RM, yo retire, greddy.c. Sa vin debarase m de li. Se konsa, ki ta travay, apre yo fin mwen konfime ke mwen vle debarase m de li. Apre sa, mwen gen efektivman chanje non greddy.c greedy.c. Mwen kopye li, ak Lè sa a retire orijinal la. Men, sa a yon pwosesis milti-etap. Epi sètènman, gen nan yon fason pi bon. An reyalite, gen. Se konsa nou frape kontwòl L, jis yo pote sa a tounen moute, ak lis sa ki nan anyè m 'ankò. Se konsa nou di, o, mwen te fè yon erè. Mwen aktyèlman vrèman t 'vle yo rele ki greddy.c dosye-a. Nan yon sèl tonbe plongée, mwen ka tape deplase greedy.c greddy.c. Frape Antre nan. Epi, koulye a, mwen pa t 'gen a kapab bay kopi epi retire li, Mwen jis te kapab chanje non li. One-Stop fè makèt. Koulye a, gen yon anpil nan lòt debaz liy lòd sèvis piblik ke ou ka sèvi ak ak liy la bay lòd Linux. Epitou, n ap dwe diskite sou yon anpil nan yo nan tan kap vini an nan CS50. Men, pou kounye a, jis ap resevwa pye ou mouye ak travay ak tèminal sa a anviwònman, senk kòmandman sa yo ta dwe fè ou jwenn trè lwen nan navige ozalantou yo ak travay ak dosye nan IDE ou oswa nan tou sa Linux ki baze sou opere sistèm w ap itilize. Si ou se kirye, epi ou vle gade devan yon ti jan nan kèk a kòmandman yo liy lòd nou pral lè l sèvi avèk nan lavni an, isit la nan yon lis ki gen yon koup nan yo menm ki pi komen. Mwen se Doug Lloyd. Sa a se CS50.