introduktion till datorprogrammering är den första kursen i vårserie som introducerar studenter till datavetenskap. I den här klassen kommer du att lära dig grunderna i datorprogrammering i Java, medbetoning på tillämpningar inom vetenskap och teknik. Du kommer också att lära dig om det bredare området datavetenskap och algoritmisktänkande, det grundläggande tillvägagångssätt som datavetare tar för att lösa problem.
föreläsningar
det finns tre föreläsningar i veckan, MWF 12-1 (första avsnittet) och 1-2(andra seciont) i Wu & Chen Auditorium. Recitationer kommer att ses varje vecka på onsdag eller torsdag, och närvaro krävs.Bilder kommer i allmänhet att publiceras före eller strax efter lektionen.
recitationer
Reciation är en kritisk komponent i klassen. I recitation kommer du att granska innehållet som diskuteras i föreläsningen, lära dig omytterligare innehåll som vi inte täckte i föreläsningen och arbeta medproblem tillsammans som en grupp.Din recitation TAs är en ovärderlig resurs till ditt förfogande.De kommer att vara din guide för kursen och ditt första stopp för allafrågor som du kan ha. Dessutom kommer de att vara ansvarigaför att betygsätta dina uppgifter. Du bör gärna komma i kontakt med dem under deras kontorstid eller via e-post med frågor,oro eller kommentarer du har om kursen.
klass anslagstavla
vi willuse Piazza asour anslagstavla systemet denna termin. Piazza är en webbtjänst som är särskilt utformad för studenter att ställa frågor om kursenoch få dem besvarade av klasspersonalen eller deras kamrater. Vi kommer också att göra kursomfattande meddelanden via Piazza, så se till att anmäla dig till det som en del av uppdrag 0.
alla frågor om kursmaterial och inlämningsuppgifter ska skickas till Piazza istället för e-post till din TA eller instruktören.Andra studenter har alltid samma frågor som du gör, och att posta dem till Piazza uppmuntrar till diskussion bland er. För thisreason, om du e-post en fråga direkt till en TA eller instruktören,du kommer sannolikt att bli ombedd att återpublicera den till Piazza. Om du behöver postdetails av din kod eller lösning på ditt uppdrag, vänligen posta en privat fråga. All kurspersonal kan se privatequestions, vilket innebär att vi kan svara mer qucikly. Om vi tycker att frågan är lämplig att dela med resten av klassen kan vi också göra den offentlig.
växla mellan CIS 110 och 120
CIS 110 och 120 utgör vår inledande sekvens till datavetenskap.Medan 110 är utformad för personer utan tidigare programmeringserfarenhet, är 120 utformad för att bygga på antingen de grundläggande lärda i 110 eller på annat sätt som erhållits utanför klassrummet. Eftersom detta inte är en svartvitt skala tillåter vi traditionellt studenter att växla mellan klasser.På grund av rekordregistreringar i båda klasserna måste du dock prata med din nuvarande klassens instruktör och få tillstånd att överföra mellan klasserna. Tänk på att vi kommer att göra vårt bästa för att tillgodose din begäran, men vi kanske inte kan överföra dig beroende på klassanmälningar vid den tiden. Vi kommer att använda Java-programmeringsspråket och DrJava integrateddevelopment environment (IDE) denna termin. Java är ett plattformsoberoende, objektorienterat programmeringsspråk på hög nivå som vanligtvis används i mjukvaruutvecklingsindustrin. För LEKSAKSUPPDRAG använder vi ocksåvisuell X-TOY-miljö. Dessa programvarupaket är alla gratis, ochdu kommer att installera dem som en del av uppdrag 0.Se läxa 0 förinstruktioner om hur du skaffar och installerar dessa programvarupaket för användning på din hemdator.
lärobok
vi kommer att använda den nödvändiga läroboken introduktion till programmering i Java: och tvärvetenskapligt tillvägagångssätt av Robert Sedgewick och Kevin Wayne. Du kan köpa läroboken från UPenn-bokhandeln, Amazon eller din favoritbokhandel. Du kan också hitta en begagnad kopia.
datalaboratorier
University of Pennsylvania tillhandahåller ett antal datalaboratorierför användning av SEAS-studenter. Alla SEAS computer lab-maskiner harbåde DrJava och Visual X-TOY installerad som standard. Den CIS 110-kursspecifika mappen i start-menyn innehåller genvägar till dessa program samt länkar till användbara on-line-resurser.Du kan hitta en lista över Seas-stödda laboratorier på SEAScomputer lab-sidan.
betyg
följande är betygsfördelningen för kursen:
- hemarbeten: 40%
- Midterm: 20%
- slutlig: 30%
- Recitation: 10%
- personal diskretion: justering för pariticipation, etc.
varje komponent i ditt betyg är krökt oberoende. Det finns nopreset kurva, eller kvot för antalet As, Bs, etc. Vanligtvis, ungefär hälften av eleverna får någon form av A. många av thesestudents började utan tidigare programmeringserfarenhet.
om du gör det bättre på finalen än på mitten, kommer mer vikt att ges till din slutprov i förhållande till din halvtid för att belöna din förbättring.
Kursfrånvaro rapporter (bilar)
om du måste missa dinrecitation, och/eller två eller flera på varandra följande föreläsningar, och/eller vill ha en läxa förlängning på grund av frånvaro (t.ex. på grund av sjukdom,religiös holidy), måste du fylla i en Kursfrånvaro rapport om PennInTouch. Bilar tillåter dig att meddela alla dina instruktörer på en gång och se till att vi korrekt kan ta eventuella frånvarointo konto i slutet av terminen (t.ex. genom att inte straffa digför saknad recitation på grund av sjukdom). Beroende på omständigheterna kan vi be dig om mer information så att vi kan träna den mest lämpliga bostaden för dig.
du behöver inte fylla i en bil om du:
- kommer att sakna bara en enda föreläsning.
- kommer att sakna din recitation, men kan delta i en annan. I det här fallet behöver du bara meddela dina TAs.
vid längre frånvaro som får dig att komma bakom i alla dina kurser uppmuntras du starkt att prata med din akademiska rådgivare. Din rådgivare kan hjälpa dig att samordna en realistisk plan för att komma ikapp i alla dina kurser samtidigt.
läxa och lateness policies
det är absolut nödvändigt att förstå att datorprogrammering inte är en åskådares sport. För att bli bra på det måste du träna, ochDet primära fordonet för det är hemarbetet. Läxuppdragkommer i allmänhet att förfalla på torsdagar klockan 9, med en 3-timmars respitperiodpå förfallodagen om inte annat anges. Vi strävar efter att vara tillgängliga i labbet och att svara på inlägg på piazza snabbt fram till 9pm duedate. Under frist, du är på egen hand. Vi kommer inte heller att räkna med någon extra kredit på uppdrag som lämnats in under graceperioden.
på grund av klassens storlek kommer vi att använda late dayssystem för att hantera sena inlämningar. Du kommer att ha 4 sena dagar att användaden här terminen på hemarbetet. Varje sen dag som du använder låter digatt lämna in en viss läxuppgift 24 timmar efter (9pm)förfallodatum, inklusive helger. Graceperioden gäller inte för senadagar. Du kan använda upp till 2 sena dagar per läxa. Assignmentssmitted mer än 2 dagar för sent kommer att få någon kredit.
den sena policyn tillämpas automatiskt av vårt inlämningssystem. När du skickar in uppgifter eller kontrollerar dina betyg kommer du att kunna se exakt när varje uppdrag skickades in, när det berodde, hur många sena dagar du har använt på varje uppdrag och hur många sena dagar du har kvar. När du inte längre kan få kredit på en uppgift kommer inlämningslänken att försvinna. Det är ditt ansvar att se till att din inlämning slutförs framgångsrikt i tid.
undantag från förseningspolicyn beviljas endast under exceptionella omständigheter (t. ex. allvarlig sjukdom). Var beredd att bevisa dina omständigheter. Du kommer att se eventuella tillägg när du visar dina betyg eller skickar in en uppgift online. Om du inte ser en förlängning listad med 24 timmar efter det att den beviljats, måste du kontakta TA eller instruktören som beviljade den för att se till att den är inmatad. Du får inte använda en frist eller några sena dagar tillsammans med en förlängning.
Extra kredit kommer endast att ges på uppdrag som lämnas in av theoriginal förfallodatum. Uppdrag som lämnats in under graceperioden elleranvända sena dagar kommer inte att få extra kredit.
tentor
det kommer att finnas en halvtidsprov och en slutlig denna termin. Se sidan tentor för datumen.På grund av klassens storlek kommer vi att använda multiplerooms för att leverera tentorna. Nära till varje tentamensdatum kommer vi att tillkännagerrumsuppgifterna för varje tentamen.
re-grades
du kan begära en re-grade för hemarbeten upp till en vecka efter det isreturned. Vänligen rikta dina läxor re-grade förfrågningar till din TA.För exam re-grade förfrågningar, kommer vi att ge examen re-grade begäran formsfor dig att fylla i. Din TA kommer då att komma tillbaka till dig med resultaten av det-Klass.Observera att vid omklassificering av hemarbeten och tentor förbehåller vi oss rätt tore-grade hela inlämningen. Som ett resultat kan ditt slutbetyg varalägre eller högre än ditt ursprungliga betyg.
Academic honesty policies
i en datorprogrammeringsklass kan gränsen mellan fusk och hjälp vara suddig ibland. Vi uppmuntrar dig att diskutera uppdrag och tillvägagångssätt för att lösa dem med varandra, men det är också viktigt att gå igenom processen att göra detta till ett arbetsprogram själv. Så vi har ganska strikta regler om vad du kan och inte kan göra (delat med CIS 120):
- du måste skriva in och redigera din egen kod.
- det är inte tillåtet att kopiera någon annans fil.
- att låta någon annan kopiera en fil av dig, antingen uttryckligen eller implicit genom att lämna din kod oskyddad, är inte tillåtet.
- redigera varandras filer är inte tillåtet.
- misstänkta fall av plagiering kommer att hänvisas till Office of Student Conduct. Det typiska straffet för plagiering är suspension.
- du får inte visa din kod för andra (utom kurspersonal).
- att visa din kod för någon annan som har problem är inte tillåtet.
- att ha någon annan felsöka din kod är inte tillåtet.
- Använd ditt bästa omdöme.
- skydda både dig själv och dina vänner. I Penn Engineering, i fall av obefogat samarbete, straffas alla deltagande parter vanligtvis (både hjälpare och hjälptagare).
- se till att du loggar ut från labbdatorer och skyddar åtkomsten till din kod. Om det blir stulet kan du fortfarande behöva gå igenom en stressig disciplinär utfrågning som blir mer straff än du förtjänar!
- använd dom om att ställa eller svara på frågor från andra studenter. Om du till exempel ska implementera algoritm X som beskrivs i boken, och du inte förstår algoritm X, kan du be en annan student att förklara det för dig. Men om du ska komma med din egen algoritm för att lösa ett problem, kan du inte be en annan student att berätta för sin algoritm.
naturligtvis följer kursen också standard upennacademic integrity code, så se till att du är bekant med detta också. Som en sista anmärkning kommer vi regelbundet att köra fuskkontrollprogramvara som Alex Aikens MOSS för att upptäcka kopiering. Theseprogram är anmärkningsvärt bra på att upptäcka kopiering; ändra variablenames och enkla kod omläggningar inte lura dem. Att ändra ett existerande program för att besegra en cheat checker är i allmänhet justas svårt och kräver lika mycket förståelse för problemet som att skriva ditt eget program från början. Om du är osäker, tveka inte till instruktören eller din TA om du är osäker på om den hjälp du tillhandahåller är ett brott motakademisk ärlighet.
frågor och kommentarer
vi är här för att svara på dina frågor, hjälpa dig att lära dig och utveckla klassen så att nuvarande och framtida studenter lär sig varför vi älskar datavetenskap så mycket!Kom ihåg att din TA är ditt första stopp för frågor eller kommentarer omklass. Du bör också gärna kontakta mig med dina frågor och kommentarerlika bra i före eller efter Klass, under min kontorstid, eller via e-post.Om du är intresserad av CIS eller något av våra relaterade utbildningsprogram, Känn dig fri att komma i kontakt med Jackie Caliman.