Skip to main content

syllabus

teach

About the Me!!!​

NamePAUL OFFEI
Emailpoffei@st.ug.edu.gh
OfficeIT Lab
Office HoursWednesday and Thursday
Virtual MeetingsMicrosoft Team
Webpagentow.netlify.app

Course Syllabus

Course Description:​

  • You know the basics of programming. You're proficient in variables, functions, control flow, basic defined data structures, and file IO. With these concepts, you can train a computer to complete nearly any task you can imagine. So what's next?
  • Writing large programs! You will learn how to write and organize large pieces of software focusing on Unit Testing or Test Driven Development, Object-Oriented Concept and Data Structures & Algorithms
  • This course will cover abstract data types and basics of algorithms, Linked lists, stacks, queues, hash tables, trees, heaps, and graphs. Students will also be taught how to derive big-Oh analysis of basic algorithms. All assignments will be in Rust as way to introduce you to a new language. Programming languages are just tools to translate our ideas in practice, so students are encourage to use any language of choice to implement their ideas.

Course Topics

  • Data Structures and ADTs:
    1. lists
    2. stacks
    3. queues
    4. sets
    5. dictionaries
    6. arrays
    7. linked lists
    8. trees
    9. hash tables
    10. priority queues
    11. binary heaps
    12. disjoint sets
  • Algorithm analysis:
    1. Big O Notation
    2. Asymptotic analysis
    3. P and NP complexity
    4. Dynamic Programming optimization
  • Sorting algorithms:
    1. selection
    2. insertion
    3. merge
    4. quick
    5. more…
  • Graphs and graph algorithms:
    1. graph search
    2. shortest path
    3. minimum spanning trees

Prerequisites​

  • Introductory programming course

Course Announcements​

All the course announcement and additional materials or tutorials to help you learn the cource will be posted in the blog page of the course website.

Homework late policy​

Every assignment in this course is due at exactly the time stated and while I will grade late assignments, there will be a marks deduction.

Evaluation​

The course evaluation will be a weighted mask score on class attenance and participation, homework, quizes, projects and exams.

Test Book