CS 61 | Adatbázisrendszerek | 2020 tavasz

, Author

Egy anya kihasználása (az XKCD-ből)https://xkcd.com/327/

Tárgyleírás

ORC. Ez a kurzus a nagy adat- vagy információhalmazok kezelését tanulmányozza. Ez magában foglalja az összetett információs struktúrák ábrázolására, manipulálására és tárolására szolgáló sémákat, valamint az e struktúrák hatékony feldolgozására és a bennük lévő információk visszakeresésére szolgáló algoritmusokat. A tantárgy megtanítja a hallgatóknak a nagy mennyiségű heterogén adatok tárolásának ki- és felosztására, visszakeresésére (lekérdezések megfogalmazására) és manipulálására szolgáló technikákat. A hallgatóknak programozniuk kell, és részt kell venniük egy olyan projektben, amelyben egy adatbázisrendszer fontos aspektusait tanulmányozzák: a több számítógép által megosztott, elosztott adatbázis megszervezésének módjait; a lokálisan és globálisan feldolgozott tranzakciókat; a tárolt adatok robusztussági garanciáit a hibákkal szemben; a biztonság és az adatok integritásának garanciáit a jogosulatlan hozzáféréssel szemben; az adatvédelmet; a multimédiás adatok objektumorientált rendszereit; indexelést, hashinget, párhuzamosság-szabályozást, adatbányászatot, adattárházakat, mobil adatbázisokat és tárolási fájlstruktúrákat.

Tanulási célok A tanfolyam végső célja, hogy képessé tegye Önt arra, hogy az adatok felhasználásával adatvezérelt döntéseket hozzon, ahelyett, hogy zsigerből vagy találgatások alapján döntene. A tanfolyam elvégzése után képesnek kell lennie arra, hogy:

  1. Lekérdezni a meglévő adatbázisokat a betekintés érdekében. A tanfolyam első néhány hetét a strukturált lekérdezési nyelvnek (más néven SQL, más néven “folytatás”) nevezett szabványos adatbázis-lekérdezési nyelv elsajátításával töltjük. Ezáltal megkapja a szükséges eszközöket ahhoz, hogy lekérdezze a meglévő adatbázisokat, hogy betekintést nyerjen a bennük tárolt adatokba.
  2. Tervezze meg saját hatékony adatbázisát. A következő hetekben azt fogjuk megvizsgálni, hogyan strukturáljuk a saját adatbázisainkat, a táblák elrendezését, és olyan tényezők figyelembevételével, mint a redundancia, a megbízhatóság és a sebesség.
  3. Értsük meg, mi zajlik a motorháztető alatt. Ezután megvizsgáljuk, hogyan működnek az adatbázisok, gyorsan és pontosan lekérdezve az adatokat, még akkor is, ha egyszerre több felhasználó fér hozzá az adatokhoz és frissíti azokat.
  4. Ismertesse az új és fejlődő adatbázis-technológiákat. Végül megvizsgáljuk az olyan új adatbázis-technológiákat, mint a NoSQL adatbázisok és a blokkláncok.

Az előadások során több vendégelőadónk is lesz a területen dolgozó szakemberektől. További részletekért tekintse meg az ütemterv oldalát.

Előfeltétel: CS 50. Feltételezem továbbá, hogy ismeri a Python nyelvet.

Ki, mikor, hol

Oktató Tim Pierson | 210 Sudikoff
irodaidő: a legtöbb héten kedd 13:30 – 14:30, csütörtök 13:30 – 14:30 (megerősítés a Canvas naptáron keresztül), valamint előzetes bejelentkezés alapján. A virtuális találkozókhoz lásd a Canvason található Zoom linket. Graduate teaching assistant Almas Abdibayev
office hours: maintained on Canvas Lectures 2-hour | MWF 14:10 pm – 15:15 pm Eastern time zone | Online Lectures will be online and recorded this term using Zoom – see Canvas for access details. Amikor csatlakozik az online megbeszéléshez, kérjük, kapcsolja ki a kamerát és a mikrofont. Ha kérdése van, kérjük, nyomja meg a Zoom “Emelje fel a kezét” gombot. Ha rövid időn belül nem szólítom Önt, kérjük, vegye le a némítást, kapcsolja be a kamerát, és kérdezzen. A további szabályokat menet közben fogjuk kidolgozni… Nem tervezem, hogy rendszeresen használom az x-órákat, de előfordulhat, hogy az elmulasztott órák miatt, az anyag felzárkóztatására, vagy fakultatív, informális foglalkozásra használom, hogy példákat dolgozzunk fel. Győződjetek meg róla, hogy ez az óraszám szabad, ha szükség lenne rá. Gyakran fogunk órán belüli gyakorlatokat tartani, hogy az új koncepciókat élő adatbázison próbáljuk ki. A Google és a StackOverflow a barátod lesz, ne habozz használni őket (hacsak nem kaptál más utasítást)! Súgó: Irodai órák Az irodai órák online is lesznek a Zoom-on keresztül. A meghirdetett irodai órákon online elérhető leszek, még akkor is, ha nincs kérdés. Ha szeretnél egy privát találkozót összehozni, írj nekem egy e-mailt, és találunk egy időpontot, amikor beszélhetünk. Segítség! Slack Az első tanítási nap után várjon meghívót egy Slack-csatornára. Erősen bátorítalak, hogy ott kérdezz és válaszolj a kérdéseidre. Közlemények Figyelje a Canvas-t a tanfolyamra vonatkozó időszakos közleményekért. Tankönyv: Database System Concepts, 7th edition, by Silberschatz, Korth, and Sudarshan. Nagyon ajánlom az ebook változatot a papíralapú változat helyett (a papíralapú változat nincs is bekötve – ez egy kötetlen lapok gyűjteménye!) Bár a Silberschatz könyv lesz az elsődleges tankönyvünk, és minden kijelölt olvasmány ebből a tankönyvből fog származni, egy másik hasznos forrás az Database Systems: Design, Implementation, & Management, 13. kiadás, Coronel és Morris. Egy másik nagyszerű forrás a https://www.mysqltutorial.org.

Az értékelés

Az osztályzat ebben az órában egy féléves projekt, több laborfeladat, egy félévközi vizsga és az órai részvétel kombinációja lesz. A tantárgy sikeres teljesítéséhez legalább 60%-os összpontszám szükséges.

Projekt (40%)

A félév során három másik hallgatóval együtt egy általad választott, adatbázissal kapcsolatos projekten fogsz dolgozni. A projekt követelményeinek részletei itt találhatók.

Laborok (30%)

Három laborfeladat lesz (a 0. laboron kívül, amely egyszerűen csak információgyűjtés), amelyek együttesen a kurzus jegyének 30%-át teszik ki. Az egyes laborokért járó pontok a következők:

  • Lab 1: 5%
  • Lab 2: 10%
  • Lab 3: 15%.

A laborfeladatokra vonatkozó követelmények: A laborokat úgy tervezték, hogy órán kívül kell elvégezni, és elektronikusan kell benyújtani a Canvason keresztül a Canvason feltüntetett határidő előtt. Még akkor is, ha egy laborhoz írásbeli feladatok tartoznak, az írásbeli munkát vagy be kell gépelnie, vagy be kell szkennelnie és elektronikusan be kell nyújtania. A programjából származó kimenet benyújtásához küldjön be egy pdf formátumú, másolt-pasztázott fájlt és/vagy adott esetben egy képernyőképet. A sima szöveghez használhat egy olyan programot, mint a TextEdit, a NotePad vagy az Emacs, vagy akár a Word, de mindenképpen mentsd el pdf formátumban. Képernyőkép készítéséhez Macen használhatja a Preview-t (a “File” menüben) vagy Windowson a PrntScrn gombot.

Egy partnerrel dolgozhat együtt ezeken a laborfeladatokon (lásd alább az Együttműködés című részt). Ezen kívül:

  • Ha egy partnerrel dolgozott, tüntesse fel a nevét és a partnere nevét, vagy ha egyedül dolgozott, a beadandójában megjegyzésben tüntesse fel, hogy “nincs partner”.
  • Ha egy partnerrel dolgozott, és végül egyetlen közös megoldás született, ezt a megoldáshoz és a beadandóhoz fűzött megjegyzésben jelezze. Mindkét partnernek ugyanazt a megoldást kell benyújtania. A megoldás ezután egyszer kerül osztályozásra, és mindkét partner ugyanazt az osztályzatot kapja.
  • Ha egy partnerrel dolgozott, de külön kódot írt, jelezze az együttműködést, de azt is, hogy különböző beadványokat készítettek. Ezt jelezze mind a kódban, mind a beadványon. Mindkettőjüknek saját megoldást kell feltölteniük, és mindketten külön osztályzatot kapnak.
  • A kódfájlokat gyűjtse össze egyetlen zip-fájlba, és ezt a zip-fájlt töltse fel, ne pedig egy csomó különálló fájlt.

Késedelmi szabályzat A Canvason keresztül a Canvas feladatban megjelölt napon és időpontban esedékes. Büntetések: < 8 óra: 10%; < 24 óra: 20%; < 48 óra: 40%; ennél több: nincs kredit.
Legfeljebb egy késedelmes leadás (48 óráig) büntetés nélkül megengedett; nincs szükség mentesítésre. A beadványában jelezze, hogy a szabadkártyát választja; a választást nem lehet visszacsinálni. Ez nem kombinálható büntetéssel (pl. a 48 órás szabadkártyára nem lehet 8 órás büntetést rátenni). Ha társaddal dolgozol, ez mindkettőtök számára szabadkártyának számít. Értékelés Minden egyes laborhoz külön értékelési rubrikákat biztosítunk.

Vizsgák (20%)

Egy félévközi vizsga lesz, amely a végső jegy 20%-át teszi ki (nincs záróvizsga – a projektje számít a záróvizsgának). A vizsgához egy 8,5 x 11 hüvelykes jegyzetlapot használhat, de nem tartalmazhat válaszokat vagy kódot korábbi CS61 vizsgákból, kivéve, ha azt az oktató kifejezetten előírta, vagy az órán tárgyalt anyag része.

Ha kérdése van a vizsgaeredményével kapcsolatban, vagy szeretné, ha egy kérdést újraosztályoznának, forduljon a tanársegédhez a vizsga visszaadásától számított egy héten belül. Ha egy adott kérdés újraosztályozását kéri, fenntartjuk a jogot, hogy az egész vizsgát újraosztályozzuk.

Tanórán való részvétel (10%)

A legtöbb órán lesz gyakorlati rész, ahol egy problémasorozatot dolgozunk át egy élő adatbázison. Az óra ezen részének végén véletlenszerűen (pótlással) kiválaszthatják Önt, hogy bemutassa a megoldását. A prezentációját az alábbiak szerint értékeljük:

  • 0: Semmi érdemleges
  • 1: A megoldása jelentős munkát igényel
  • 2: Helyes vagy nagyrészt helyes.

Ha nem tud részt venni az órán a Zoom live-on keresztül, de véletlenszerűen kiválasztják, a következő óra előtt tegye fel a megoldását a Canvasra.

Elképzelhető, hogy a félév során soha nem választják ki véletlenszerűen, hogy bemutassa a megoldását. Ebben az esetben az osztályzatnak ezt a részét teljes mértékben beszámítjuk.

Collaboration

A tanulás nagy része ezen a kurzuson a programozási gyakorlatok elvégzéséből származik. Néha a tanulás sokkal hatékonyabban történhet, ha valaki mással is megbeszélheti a dolgokat, ezért a laborfeladatoknál megengedett lesz a társakkal való együttműködés. Egy adott gyakorlaton egy másik személlyel közösen is dolgozhat. Ha úgy dönt, hogy valaki mással dolgozik, akkor önnek és a társának ugyanazt a közös feladatot kell benyújtania, amelyen mindkét fél neve szerepel, és a teljes feladatot ugyanazzal a személlyel kell elvégeznie (nem dolgozhat egy személlyel a feladat egyes részein, és egy másik személlyel a feladat más részein).

Ha társával dolgozik, akkor is felelős a teljes feladat megértéséért. Ez azt jelenti, hogy nem jó ötlet darabokra osztani a kódolást, elvégezni a saját részedet, és soha nem nézni meg a partnered részeit. Sokat tanulhatsz, ha elolvasod a partnered kódját, és rájössz, hogyan működik, helyes-e, és hogyan lehetne javítani rajta. Olyan dolgokat is észrevehet, mint a rossz vagy hiányzó megjegyzések, amelyek stíluspontokba kerülhetnek, amikor a feladatot osztályozzák.

A partnerrel való közös munka során azt javaslom, hogy kölcsönözzön egy gyakorlatot az Extrém programozásból, a kódírásnak egy olyan módszeréből, amelyet sok vállalkozás igen hatékonynak talál. Az egyik személy (a vezérlő) a billentyűzetnél ül. A másik személy (a navigátor) nézi a (virtuális) képernyőt, miközben a vezető gépel, kérdéseket tesz fel, javaslatokat tesz és hibákat észlel. Mindketten jobban megértik a kódot, ha írás közben megbeszélik, mint ha csak maguk írják (vagy olvassák). Rendszeresen cserélje fel, hogy ki a driver és ki a navigátor.

A szokásos reakció erre az ötletre az, hogy “ez kétszer annyi ideig fog tartani!” A gyakorlatban ez általában gyorsabb, mintha mindenki egyedül programozna. Ennek az az oka, hogy a hibákat hamarabb észreveszik, és a hibakeresés során megtakarított idő bőven ellensúlyozza a kódírás párhuzamosságának hiányát. Emellett a kód általában jobban meg van írva. Ezek azok az okok, amiért ezt az ötletet elfogadták az iparban.

Online felvétel

A 2 óra alatt tartott tanórákat a Zoom-on fogom felvenni, és ezeket a videókat közzé fogom tenni.Tervem az lesz, hogy nem veszek fel semmilyen irodai órát, biztosan nem egy az egy ellen, de nem is kis csoportokat. Ha úgy gondolom, hogy egy kérdést vagy választ az irodai órákról jó lenne, ha az egész osztály láthatná, akkor készítek egy külön jegyzetet vagy videót, vagy beillesztem a következő előadásba. Általában ezt teszem az óráimon. Ha problémamegoldást vagy X órát tartok, ahol az egész osztályt meghívom, hogy kérdésekkel felkészülten jöjjenek, akkor azt is rögzítem, mert az lényegében egy órai foglalkozás. De valószínűleg meg fogom szerkeszteni a közzététel előtt, hogy gyorsabban meg lehessen nézni újra

From the Dean of the Faculty to students regarding recording of class sessions:

(1) Hozzájárulás a kurzus és a csoportos fogadóórák rögzítéséhez

  • a) Megerősítem, hogy megértettem, hogy ez a kurzus és minden kapcsolódó csoportos megbeszélés, amelyen a hallgatók és az oktató részt vesznek, beleértve, de nem kizárólagosan a tervezett és eseti fogadóórákat és egyéb konzultációkat, rögzíthető bármely digitális platformon, amelyet a kurzus távoktatására használnak;
  • b) Továbbá megerősítem, hogy az oktató birtokolja a szerzői jogokat az oktatási anyagokhoz, amelyeknek ezek a felvételek részét képezik, és ezen felvételek bármelyikének teljes vagy részleges terjesztése az oktató előzetes írásbeli hozzájárulása nélkül a Dartmouth fegyelmi eljárást vonhat maga után, beleértve a kizárást is;
  • c) Felhatalmazom a Dartmouth-t és a Dartmouth nevében eljáró személyeket, hogy részvételemet és megjelenésemet bármilyen adathordozón rögzítsék, és nevemet, képmásomat és hangomat az ilyen felvételekkel kapcsolatban használják; és
  • d) Felhatalmazom a Dartmouth-t és a Dartmouth nevében eljáró személyeket, hogy az ilyen felvételeket korlátozás és korlátozás nélkül felhasználják, reprodukálják vagy terjesszék bármilyen oktatási célra, amelyet a Dartmouth és a Dartmouth nevében eljáró személy megfelelőnek ítél.

(2) A négyszemközti felvételekhez való hozzájárulás követelménye

    Azzal, hogy beiratkozom erre a kurzusra, ezennel kijelentem, hogy semmilyen körülmények között nem készítek semmilyen adathordozón felvételt az oktatóval folytatott négyszemközti megbeszélésekről az összes résztvevő előzetes írásbeli hozzájárulása nélkül, és megértem, hogy amennyiben megszegem ezt a tilalmat, a Dartmouth fegyelmi eljárást alkalmazhat rám, beleértve a kizárást, valamint a vonatkozó jogszabályok szerinti egyéb polgári vagy büntetőjogi szankciókat is.

Technológiai követelmények

A kurzus online jellegéből adódóan a hallgatóknak képesnek kell lenniük napi legfeljebb 1 óra videótartalom streamelésére. Minden tőlünk telhetőt megteszünk, hogy megtervezzük és figyelembe vegyük a szükséges technológiához való hozzáférés bármilyen korlátozását. Lehetetlen, hogy minden lehetséges technológiai korlátozást megtervezzünk. Ezért kérjük, hogy a lehető leghamarabb tudassa velünk, milyen akadályai vannak az online tanfolyam elvégzésének. Tekintettel az ellátási láncban jelenleg tapasztalható zavarokra, szeretnénk a lehető legmesszebbre előre tervezni.

Honor code

A tanfolyamra a Dartmouth becsületkódexe vonatkozik, és a tanulmányi kötelességszegés szabályait szigorúan betartjuk. A csalás gyanús eseteit jelenteni fogom az egyetemi bírósági ügyekért felelős tisztviselőnek. Fenntartom magamnak a jogot arra is, hogy egy feladatra vagy vizsgára elégtelen osztályzatot adjak, ha úgy vélem, hogy a becsület alapelvét megsértették, függetlenül a Szabványügyi Bizottság megállapításától. If you have questions,ask!

Accessibility Needs

Students requesting disability-related accommodations and services for this course are encouraged to date a phone/video meeting with me as early in the expression as possible. Ez a beszélgetés segít megállapítani, hogy milyen támogatások vannak beépítve az online kurzusomba. Ahhoz, hogy az alkalmazásokat engedélyezni lehessen, a hallgatóknak konzultálniuk kell a Student Accessibility Services (SAS; [email protected]; SAS honlap; 603-646-9900), és hogy küldjék el nekem e-mailben a SAS szállásfoglalási űrlapjukat. Ezután együtt fogunk dolgozni a SAS-szal, ha az online tanulási környezet alapján módosítani kell az alkalmazásokat. Ha a hallgatóknak kérdéseik vannak azzal kapcsolatban, hogy jogosultak-e az alkalmazásokra, forduljanak a SAS irodához. Minden megkeresés és megbeszélés bizalmas marad.

Lelki egészség

A dartmouthi egyetemi környezet kihívást jelent, a féléveink intenzívek, és az órák nem az egyetlen megterhelő része az életednek. Az egyetemen számos erőforrás áll rendelkezésedre, hogy támogasd a jóllétedet, beleértve az egyetemi dékánodat, a Tanácsadás és Humánfejlesztés, valamint a Student Wellness Center-t.

Vallási szertartások

Egyes hallgatók részt kívánnak venni vallási szertartásokon, amelyek ebben a tanulmányi félévben történnek. Ha olyan vallási szertartása van, amely ütközik a kurzuson való részvétellel, kérjük, találkozzon velem a félév második hetének vége előtt, hogy megbeszéljük a megfelelő alkalmazkodást.

COVID-19 kiegészítés

Míg a COVID-19 világjárvány már drasztikusan megzavarta ezt a kurzust, további személyes hatással járhat, ami megakadályozhatja Önt abban, hogy továbbra is részt vegyen az órán. Ennek oka lehet a betegség elkapása Önnél vagy egy hozzátartozójánál, a megnövekedett családi kötelezettségek, pénzügyi nehézségek vagy az Ön mentális/érzelmi egészségére gyakorolt hatások.

A tanfolyamot úgy alakítottuk ki, hogy ezek a zavarok nem feltétlenül akadályozzák meg Önt a tanfolyam sikeres elvégzésében. Először is, minden előadást rögzítünk és közzéteszünk. Ez lehetővé teszi a tananyag rugalmas megtekintését. Másodszor, a hét folyamán különböző időpontokban lehetőséget biztosítunk az oktatóval és a tanársegéddel való élő interakcióra. Harmadszor, a gyakorlatokat úgy alakítottuk át, hogy otthon is elvégezhetők legyenek.

Abban az esetben, ha a COVID-19 közvetlenül vagy közvetve olyan hatással van Önre, amely befolyásolja a kurzuson nyújtott teljesítményét, feltétlenül forduljon az oktatóhoz a lehető leghamarabb. Az egyetemi dékánhoz is fordulhatsz, ha az kényelmesebb lenne számodra. Nem tudunk segíteni Önnek, ha nem tudjuk, hogy probléma van. Elsődleges számunkra az Ön egészsége és biztonsága. Azon fogunk dolgozni, hogy kapcsolatba hozzuk Önt a megfelelő forrásokkal, hogy segítsünk Önnek. Ezen túlmenően megfelelő alkalmazásokat (például: határidő-hosszabbítás és/vagy plusz rendelési idő) fogunk bevezetni.

Megköszönés

Ez a kurzus szorosan a Dr. Charles Palmer által eredetileg kidolgozott kurzusra épül. Mélyen hálás vagyok ennek a kiváló pedagógusnak a kemény munkájáért és nagylelkű segítségéért a kurzus létrehozásában.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.