"Algorithm Design and Analysis": Doctoral Program in Computer Science
"Algorithm Design and Analysis": Doctoral Program in Computer Science
DoctoralPrograminComputerScience
"AlgorithmDesignandAnalysis"
April2009
A. Program
1. PurposeandJustification
This document proposes and describes a Unit Course on Theory and Fundamentals for the MAPIDoctoralProgram.ThisUnitCourseisentitledAlgorithmDesignandAnalysisandwill address three major and interrelated themes within the Algorithms and Complexity area, namely,fundamentalalgorithmdesignstrategies,algorithmefficiencyandcomplexityanalysis, andalgorithmsforBioinformatics. ThiscoursewillprovidefundamentalknowledgetoMAPIstudents,whowillbeabletoapply different design strategies and develop appropriate algorithms for different application problems. The proposed course is aimed at algorithm design strategies and efficiency analysis methodologies,andstrivestostrikeabalancebetweentherequiredfundamentalknowledge andthepresentationofdifferentcasestudies,withemphasisintheBioinformaticsarea.The theoretical foundations will be introduced, followed by stateoftheart approaches to solve practical problems. Emphasis will be put on discussing global design strategies and possible applications. In fact, it is a major goal to stimulate students to explore other application problemsandalternativeproblemsolvingtechniques. Examplesofgraduatecoursessimilartothisonecanbefoundinseveraluniversities,suchas: MIT o 6.854JAdvancedAlgorithms CMU o 15750AlgorithmsCore o 15853Algorithmsinthe"RealWorld" Whilethemaintopicsandsomeofthecaseproblems/studiesoftheproposedcoursearethe same,theabovecourseshavealargerscope,addressingmoreadvancedcomplexityanalysis methodsandencompassingvariousapplicationareas,andalsodealwithparticularadvanced datastructures. The smaller scope of the proposed course is a deliberate option, to accommodate students withlessCSbackgroundandtoallowmoreemphasisintheBioinformaticsarea. The decision to structure the course around algorithm design strategies (e.g., divideand conquer, greedy algorithms, etc.) and not problem types (e.g., sorting, shortest paths, etc.) seemsalsotobefavorabletointerestedstudents,bypresentingthemearlywithvariouscase problemsthatcanbeaddressedbydifferentalgorithmicstrategiesalongthecourse.
2. Goals
SincestudentsenrollingintheMAPIprogrammighthavedifferentbackgroundswithvarious levelsofknowledgeinthefundamentalComputerScienceareaofAlgorithmsandComplexity, oneofthemaingoalsoftheproposedcourseistohelpeliminatesuchdifferences.Therefore, the proposed course is particularly important for students without an appropriate CS background,andshouldbeattractivetothem. Additionally, and given the theme of the 2008/2009 edition of the doctoral program, the coursewillfocusonparticularproblemsandalgorithmsintheBioinformaticsarea,whichwill be used to provide students with a more applied perspective. And constitute a first step towardsotherrelatedcoursesintheprogram.
3. LearningOutcomes
Uponsuccessfulconclusionofthisunitcoursestudentswillbeableto: identify,foracertainproblem,themoreadequatealgorithmdesignstrategies; design, implement and test an appropriate algorithm for different application problems; analyzetheefficiencyofdifferentalgorithmsforthesameproblemandclassifythem accordingtotheircomplexity; applythemainstrategiesandalgorithmsusedinparticularBioinformaticsproblems.
4. DetailedProgram
1. Introduction a. AlgorithmDesignStrategies b. FundamentalsofAlgorithmComplexityAnalysis c. IntroductiontoBioinformatics 2. AlgorithmDesign a. BruteForceandExhaustiveSearch b. DivideandConquer c. DecreaseandConquer d. DynamicProgramming e. GreedyAlgorithms f. AdvancedAlgorithmDesignTechniques i. BacktrackingandBranchandBound ii. ComputingApproximateSolutions
3. AlgorithmsforBioinformaticsProblems a. StringMatching b. SuffixTreesandSuffixArrays c. SequenceAlignment d. Additionalproblems/applications The lectures will provide, for every main course topic, the presentation of the fundamental concepts,someapplicationexamplesorcasestudies,aswellassuggestionsforfurtherwork. The emphasis is on the fundamental concepts, the algorithm design strategies and their applicabilitytoproblemsofdifferentkinds.
5. TeachingMethodology
The course will be made up of lectures that will be complemented by tutorial meetings between students and professors/researchers, mainly for advice related to the various assignments.Thematerialusedbytheprofessorstolectureandsupporttheirclasses(slides, videos,notes,etc.)willbemadeavailabletothestudentsonthecoursesite. Practical assignments will be defined at the end of each module and may require either developmentofsimpleapplications,orwritingareportaboutagiventhemewithassociated bibliographicresearch.Suchreports,withaformatclosetoscientificpapers,willalsoservefor their assessment, and encompass stateoftheart reports, position papers, or discussion of publications. It is expected that students make serious research in this context, using the internationally accepted scientific data bases. Dedicated course workshops can also be organizedforpresentation,inforumenvironment,oftheworkdonebythestudents. Seminalandfundamentalpaperswillbesuggestedtostudentsasimportantreadingmaterial andsomeofthemmightbepresentedinclass,anddiscussedintutorialorientationmeetings. Applicationareas/problemswillbepresentedanddiscussed.Besidesconstitutingexamplesof algorithmsusageandallowingthesedimentationoftheacquiredknowledgeasawhole,thisis intendedasanopportunityforstudentstoexercisetheircriticalabilitiesanddesign/propose newideasandapplications.
6. Assessment
Studentassessmentwillbeachievedintwomaincomponents:projectassignmentsandreport writing,andafinalexamination,eachonewithaweightof50%. At the end of each main topic, a small project assignment will be given. Depending on the topic, the project can be in the design and test of an algorithm or a written report on a particulartechnique,algorithm,applicationarea,etc.
7. References
S.BaaseandA.VanGelder.ComputerAlgorithmsIntroductiontoDesignandAnalysis3rd. Ed.AddisonWesley,2000. H.J.BckenhauerandD.Bongartz.AlgorithmicAspectsofBioinformatics.Springer,2007. T.H.Cormenetal.IntroductiontoAlgorithms2ndEd.MITPress,2001. D.Gusfield.AlgorithmsonStrings,TreesandSequences.CambridgeUniversityPress,1997. J.Kleinbergand.Tardos.AlgorithmDesign.AddisonWesley,2005. A.Levitin.IntroductiontotheDesignandAnalysisofAlgorithms.AddisonWesley,2003. K.MehlhornandP.Sanders.AlgorithmsandDataStructuresTheBasicToolbox.Springer A.PolanskiandM.Kimmel.Bioinformatics.Springer,2007.