comp 401 foundations of programming - …kmp/comp401sp17/syllabus.pdfcomp 401 foundations of...
TRANSCRIPT
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.
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
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
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
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.