Beruflich Dokumente
Kultur Dokumente
Credits:20
AcademicYear
201415
Restrictions:
NotopentostudentsfromtheDepartmentofComputerScienceorstudentswhoaretakingor
havetakenCOM161orCOM162
Summary
Thefirstpartofthismoduleintroducesbasicconceptsofcomputerprogramming,throughanintroductionto
problemsolvingandthedevelopmentofsimplealgorithmsusingtheprogramminglanguagePython.Themodule
willstresstheimportanceofgoodprogrammingstyleandgoodcodedesignandwillintroducehowan
objectorientedapproachcanhelptoachievetheseaims.
Thesecondpartofthismoduleintroducessomeofthefundamentalprinciplesofobjectorientedprogrammingand
softwareengineeringusingtheJavaProgrammingLanguage.Inparticularitcoverstheprinciplesthatunderliethe
structuringofsoftwareandintroducesmodelsofrealworldsystems.Techniquesfordevelopingsound
programmingtechniquesareintroducedandapplied.
Aims
toprovideanintroductiontotheconceptsofproblemsolvinganddevelopingalgorithms
toprovideagroundingintheprinciplesofprogramming,usingthePythonandJavalanguages
toestablishgoodprogrammingstyle.
tointroducethemainfeaturesofobjectorientedprogramming
todeveloptheabilitytoconstructJavaprogramsfromexistinglibraries,classesandobjects
tointroducesomefeaturesoftheJavaApplicationProgrammersInterface
todevelopgoodprogrammingpracticeparticularlywithrespecttoreuse.
PrerequisitesandCorequisites
Objectives
Bytheendofthiscoursethestudentsshould:
beabletoexpressalgorithmsusingsequencing,conditionalanditerativeconstructs.
beabletousebasicdatastructuresandproduceprogramsemployingthem
beabletodesign,implementandtestprogramsinPythonandJava
demonstrateanunderstandingofobjectorientedapproachestosoftwaredevelopment
beabletodevelopsoftwaresolutionstowelldefinedproblemsusingobjectorientedtechniques
beawareoftheJavaCollectionsFramework
haveabetterunderstandingofhowJavacanbeusedinindustrialenvironment.
Content
introductiontoalgorithmsandproblemsolving
introductiontoimperativeprogramminginPython
controlstructures:conditionals,loops,functions
datastructures:arrays/lists,dictionaries
introductiontoobjectorientedprogramminginPythonandJava
softwaredevelopmentwithinanobjectorientedframework
theJavaCollectionsFrameworkanditsuse.
StructureandTeachingMethod
Assessment
Molequizzesandassessedlabs
Multiplechoiceexam(attheendoftheSemester1)
Assignment(duringSemester2)
1lectureperweekand2hoursofsupervisedpracticalworkperweek,involvingprogrammingexercisesin
PythonandJava
Studentsarealsobeexpectedtoworkintheirowntime.
Feedback:
ImmediatelyafterMOLEquizzesotherwisewithintheusualtimelimitof3workingweeks.
Recommendedtexts
Python:Thereareanumberofintroductorytexts/tutorialsavailablefreeontheweb.
Thefollowingissuitableforstudenthavingnopreviousprogrammingexperience:
HowtoThinkLikeaComputerScientist:LearningwithPython,2ndEdition(UsingPython2.x)byJeffreyElkner,
AllenB.DowneyandChrisMeyers.http://www.openbookproject.net/thinkcs/python/english2e.
Onlineresourceswillbeprovidedforbothsemesters.
UKSPECLearningOutcomes
UKSPE
UKSPE
UKSPE
UKSPE
UKSPE
BEng MEng
BEng MEng
BEng MEng
BEng MEng
BEng MEng
C
C
C
C
C
US1
E2
D4
S4
P6
US1m
E2m
D4m
S5
P7
US2
E3
D5
P1
P8
US2m
E3m
D6
P1m
P8m
US3
E4
S1
P2
US3m
D1
S1m
P2m
US4m
D1m
S2
P3
E1
D2
S2m
P4
E1m
D3
S3
P5