comp 401 foundations of programming - …kmp/comp401sp17/syllabus.pdfcomp 401 foundations of...

5
COMP 401 Foundations of Programming General Course Info Term: Spring 2017 Department: COMP Course Number: 401 Section Number: 001 Credit Hours: 4 Time: Tu / Th, 9:30 –10:45 Location: Hamilton 100 Website: https://piazza.com/unc/spring2017/comp401001/home Instructor Info Name: Prof. Ketan Mayer-Patel Office: 154 Fred Brooks Building Email: [email protected] Phone: 919-590-6009 Office Hours: M / W, 10:00 – 12:00 Teaching Assistants To Be Announced Textbooks and Resources There is no required textbook for this course. Students interested in a text that covers the material in the course may find one of the following resources helpful: Thinking in Java, 3 rd Edition, freely available here: http://www.cs.unc.edu/~kmp/comp401/TIJ/TIJ3.htm o Note: there is a 4 th edition that is sold via Amazon Head First Java, by Kathy Sierra Effective Java by Joshua Bloch Any other basic Java programming text. Additionally, I will be posting links to various web-based resources. We will be using Sakai only for quizzes and as a gradebook. Registered students should find that they already have access to the course Sakai site.

Upload: dinhdiep

Post on 16-Jul-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COMP 401 Foundations of Programming - …kmp/comp401sp17/syllabus.pdfCOMP 401 Foundations of Programming General Course Info ... Object-oriented programming emphasizes a modular design

COMP401FoundationsofProgramming

GeneralCourseInfo Term: Spring2017 Department: COMP CourseNumber: 401 SectionNumber: 001 CreditHours: 4 Time: Tu/Th,9:30–10:45 Location: Hamilton100 Website: https://piazza.com/unc/spring2017/comp401001/homeInstructorInfo Name: Prof.KetanMayer-Patel Office: 154FredBrooksBuilding Email: [email protected] Phone: 919-590-6009 OfficeHours: M/W,10:00–12:00TeachingAssistants ToBeAnnouncedTextbooksandResources

Thereisnorequiredtextbookforthiscourse.Studentsinterestedinatextthatcoversthematerialinthecoursemayfindoneofthefollowingresourceshelpful:

• ThinkinginJava,3rdEdition,freelyavailablehere:http://www.cs.unc.edu/~kmp/comp401/TIJ/TIJ3.htm

o Note:thereisa4theditionthatissoldviaAmazon• HeadFirstJava,byKathySierra• EffectiveJavabyJoshuaBloch• AnyotherbasicJavaprogrammingtext.

Additionally,Iwillbepostinglinkstovariousweb-basedresources.WewillbeusingSakaionlyforquizzesandasagradebook.RegisteredstudentsshouldfindthattheyalreadyhaveaccesstothecourseSakaisite.

Page 2: COMP 401 Foundations of Programming - …kmp/comp401sp17/syllabus.pdfCOMP 401 Foundations of Programming General Course Info ... Object-oriented programming emphasizes a modular design

WewillbeusingPiazzainordertopostlecturenotes,makeannouncements,solicitfeedback,andtoprovideaplatformforaskingquestionsandgettinghelp.StudentsshouldcreateaPiazzaaccountiftheydonotalreadyhaveoneand“enroll”inthecourseat:https://piazza.com/unc/spring2017/comp401001/home

CourseDescription

Thiscourseisintendedforpeoplewhoalreadyhavesomeexperiencewithprogramming.Mygoalistoteachyouhowtoprogramwellinanobject-orientedstyle.Object-orientedprogrammingemphasizesamodulardesignthatpromotescodereuseandstructuredsolutionsforcomplexproblemsthatareeasiertochangeandmaintain.Almostallmodernprogramminglanguagesincludesomesortofobject-orientedprogrammingmodel.Weassumeyouhavealreadylearnedthefollowingbasicprogrammingconceptseitherinaformalcourseorviapriorexperience:primitivetypes(integers,realnumbers,booleans)variablesconstantsexpressionsassignmentscommentsarraysloopsprocedures/functions/methods.Theseconceptsaretaughtinmostifnotallintroductoryprogrammingcoursesregardlessofwhethertheyteachconventionalorobject-orientedprogramming.Thiscoursewillteachyouthenext-levelprogrammingconcepts.Theseinclude:objectsclassesinterfacespolymorphismencapsulationabstractioninheritancedelegationdesignpatternsexceptionsassertionsformalcorrectness

Page 3: COMP 401 Foundations of Programming - …kmp/comp401sp17/syllabus.pdfCOMP 401 Foundations of Programming General Course Info ... Object-oriented programming emphasizes a modular design

Developingtheskillsthatwillenableyoutousetheseconceptswillformalargepartofthechallengeyoufaceinthiscourse.Afterthiscourse,youwillhaveamuchdeeperunderstandingofprogrammingandlearnsomeoftheideasthatcanmakeprogrammingascience.WewillbeusingJavaasavehicleforlearningtheseconcepts,butourultimateaimistoprovideyouwithafundamentalunderstandingofobject-orientedprogrammingthatcanbebroughttobeartosolveproblemsusingtheobject-orientedfeaturesofanymodernprogramminglanguage.

TargetAudience

ThetargetaudienceforthiscourseincludestudentsintendingtomajorinComputerScienceandstudentswithsomeprogrammingexperienceinterestedindevelopingamoreformalapproachtocomputerprogramming.

Prerequisites

COMP110orCOMP116oranequivalentcourseinbasicprogramminginhighschooloranotherinstitution.Studentswithsufficientexperiencewithprogrammingasahobbyistorinaworkenvironmentmayalsotakethecourse.

CourseRequirements

Studentswillberequiredtocomplete9programmingassignments,aswellasattendmandatoryrecitationsduringwhichtheywillcompletequizzesand/orTA-ledexercises.Additionally,therewillbe1midtermandafinalexam.

KeyDates

Thefollowingduedatesforassignmentsandexamdatesaresubjecttochange.Allassignmentsaredueat11:59pmoftheduedatelistedbelow.Midtermswilltakeplaceinclass.Changeswillbeannouncedinclassassoonastheyareknown.Assignments:Wed. 1/18/17 InitialCourseSurveydueWed. 1/25/17 Assignment1dueWed. 2/1/17 Assignment2dueWed. 2/8/17 Assignment3dueWed. 2/15/17 Assignment4dueWed. 2/22/17 Assignment5dueWed. 3/1/17 Assignment6dueWed. 3/22/17 Assignment7dueWed. 4/12/17 Assignment8due

Page 4: COMP 401 Foundations of Programming - …kmp/comp401sp17/syllabus.pdfCOMP 401 Foundations of Programming General Course Info ... Object-oriented programming emphasizes a modular design

Wed.4/26/17 Assignment9dueExamsThu. 3/9/17 MidtermFri. 5/5/17 FinalExam(8:00AM–11:00AM)

GradingCriteria

Coursegradeswillbebasedonstudentperformanceon:• assignments(40%),• Inclassparticipation/quizzes/recitationattendance(10%),• midterms(25%each),• andthefinalexam(25%).

CoursePoliciesAlthoughclassattendanceisnotrecorded,itisstronglyrecommendedthatstudent’sattendalllectures.Studentsarenotrequiredtoprovideadvancenoticeofmissedlectures.RecitationsectionsAREmandatoryandanyabsencefromarecitationsectionwillresultindiminishedcreditfortheparticipationportionoftheircoursegrade.Excusedabsencefromarecitationduetouniversity-relatedactivities(e.g.,athleticcompetition,etc.)mustbeobtainedinadvance.Excusedabsencefromarecitationduetoillnessorunforeseencircumstancesmayrequirewrittendocumentation.Assignmentswillbeturnedinusingaweb-basedsubmissionsystemthatwillbeexplainedinclass.Assignmentsareduebymidnightoftheduedate.Becausesomeassignmentswillbuilduponthesolutionofpriorassignments,studentsthatareunabletocompleteanassignmentbyitsduedatewillbeallowed(andinfactencouraged)tocontinuetoworkonthatassignmentbeforemovingontothenextassignment.Lateassignmentsoradditionalportionsofassignmentswillonlybeeligiblefor50%credit.ThecoursefinalisgivenincompliancewithUNCfinalexamregulationsandaccordingtotheUNCFinalExamcalendar.

HonorCode

Page 5: COMP 401 Foundations of Programming - …kmp/comp401sp17/syllabus.pdfCOMP 401 Foundations of Programming General Course Info ... Object-oriented programming emphasizes a modular design

Allrecitationexercises,quizzes,andexamsmustbecompletedindividuallyandwithoutexternalassistanceorresourcesunlessspecificallyauthorizedbytheinstructororwithintheinstructionsoftheexercise,quiz,orexam.

Studentsareexpectedtoindividuallydevelopsolutionsforassignments.Studentsareallowedtohelpeachotherintheprocessofdebuggingprogramsanddevelopingapproachestotheirsolutions,butshouldnotdirectlywritecodefororsharecodewitheachother.Studentsareexpectedtoself-reportanysignificantcollaborations.Reportingcollaborationprotectsstudentsfrombeingflaggedbycodecomparisonandcheatdetectionsoftware.Eachstudent,however,isexpectedtobeabletoexplainanddiscusstheircodeindividuallyandmaybeaskedtodoso.StudentsareencouragedtousethePiazzasysteminorderaskandanswerconceptualquestionsand/orseekabetterunderstandingofthecoursematerial.Examswillbeclosedbook.Moreinformationcanbefoundhere:http://www.cs.unc.edu/Admin/Courses/HonorCode.html

Disclaimer

Theprofessorreservestorighttomakechangestothesyllabus,includingprojectduedatesandtestdates.Thesechangeswillbeannouncedasearlyaspossible.