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