Obeng Francis

OBENG FRANCIS

Ph.D. Student    CV

Email: obengfrancis89@vt.edu

Advisor: Dr. Eli Tilevich

Teaching Philosophy & Experience

My Teaching Philosophy

I view teaching as an evolving practice that benefits from reflection, feedback, and ongoing professional development. I regularly seek feedback from my students to understand their needs and adjust my teaching strategies. I stay current with computer science and pedagogy advances, integrating new tools and approaches that enhance student learning.

My teaching philosophy is based on the belief that effective computer science education should combine theory and practice, foster inclusivity, and empower students to become independent, collaborative problem-solvers and lifelong learners. This philosophy is achieved through active learning, practical experiences, and inclusive and diverse learning environments.

Core Teaching Principles

1. Active Learning

As an instructor, I integrate active learning practices to help students gain a deeper understanding of lessons and grasp lecture materials. Rather than blending teaching lectures for students to only receive information, I design lessons and learning experiences that engage students through hands-on projects and practice solving real-world problems by collaborating in groups.

Example: A lesson on for-loops in Java includes a presentation starting with a real-life example, explanation of structure and syntax, demonstration with hands-on practice, and group activities where students work together to implement Java programs integrating for-loops.

2. Practical Examples (Real-World Applications)

I believe the most effective way to prepare students for industry careers is by providing authentic, hands-on practice that simulates real-world software development. I integrate practical software engineering tools and practices into my courses, including version control, unit testing, and code reviews—critical skills required in the software development industry.

Students engage in realistic programming projects and collaborative exercises such as pair programming, debugging sessions, and peer code reviews, simulating the teamwork and communication required in professional environments. I also incorporate relevant software engineering research findings to inform students of current trends and cutting-edge developments.

3. Diversity and Inclusion

Having taught students from varied educational and cultural backgrounds—from middle school and high school in Ghana to undergraduate and graduate courses at Virginia Tech—I am equipped with the skills and experiences to create an inclusive, diverse, and conducive classroom environment where every student feels welcomed, valued, and supported.

I create accessible course materials that accommodate different learning styles and preferences, make course requirements and expectations clear, and employ differentiated instruction to provide multiple pathways for engagement. This ensures that all students can succeed regardless of their starting point, race, gender, sexual orientation, or background.

Graduate Teaching Assistant - Virginia Tech

Department of Computer Science, College of Engineering | 2023 – Present

Courses Taught

CS1114: Introduction to Software Design (Undergraduate)

Spring, and Fall 2025 | Java | 95 Students for the two semesters

Led two lab sections per week, emphasizing concepts from lectures. Hold office hours to assist students by debugging programming assignments and resolving challenges.

CS5704: Software Engineering (Graduate)

Fall 2024 | Java | 35 Students

Supported advanced software engineering concepts, reviewed students' application development processes to ensure alignment with project requirements.

CS3604: Professionalism in Computing (Undergraduate)

Fall 2023 & Spring 2024 | 92 Students Total (2 Semesters)

Guided students through professional development topics including ethics, communication, and career preparation in computing.

CS5244: Web Application Development (Graduate)

Summer 2023 | HTML, CSS, JavaScript | 76 Students

Led programming lab sessions on full-stack web development, modern frameworks, and best practices.

CS5254: Mobile Application Development (Graduate)

Spring 2023 | Kotlin | 45 Students

Taught mobile development for Android using Kotlin, focusing on modern mobile architectures and user experience design.

Key Responsibilities

  • Leading programming lab sessions twice per week for the entire semester
  • Holding office hours to assist students in overcoming challenges in course projects
  • Reviewing students' application development processes to ensure alignment with project requirements
  • Grading assignments and projects with detailed feedback
  • Responding to student questions through emails, Piazza, Discord, and Slack
  • Providing debugging assistance and guidance on best practices

Teaching Experience in Ghana

Information Technology Instructor

Obuasi Senior High Technical School, Obuasi, Ashanti Region, Ghana

October 2019 – December 2022

As an IT teacher, I was responsible for preparing and delivering lessons to high school students in QBasic programming, Web Technologies (HTML, CSS), MySQL, Access Database, and Spreadsheet data processing.

✓ Instructed 150+ high school students in C++, QBasic, HTML, CSS, Access, and SQL
✓ Improved student programming proficiency by 95% through hands-on project-based learning
✓ Achieved 100% student pass rate in the national ICT examinations (WASSCE) for 2020, 2021, and 2022
✓ Created two comprehensive instructional textbooks adopted by the ICT department

I incorporated active learning practices such as demonstration with live coding, multimedia presentations, group collaboration, and project-based assignments. These practices intrinsically and extrinsically motivated students and helped them grasp the content and concepts of almost every lesson.

Professional ICT Instructor/Teacher

Ghana Education Service, Ashanti Region, Ghana

September 2012 – August 2015

Taught computer literacy to 200+ junior high school students (ages 11-15) at Fahiakobo D/A Junior High School.

✓ Established computer lab protocols, increasing student computer access by 85%
✓ Achieved 90% improvement in student digital literacy assessment scores

Assistant Examiner

West Africa Examination Council (WAEC), Obuasi, Ghana

November 2020 – December 2022

  • Evaluated 1,000+ ICT examination scripts annually
  • Maintained 99.5% accuracy in grading with quality assurance protocols
  • Contributed to examination standards development for the national ICT curriculum
  • Attended grading conferences and workshops

Instructional Materials Available on Amazon

Obeng, F. (2022). Information and Communications Technology for Senior High School Students.

Developed and compiled two comprehensive instructional books for high school ICT education. These books were used as classroom resources at Obuasi Senior High Technical School.

Information and Communications Technology (Elective Theory)

200+ pages covering fundamental computing concepts, data representation, introduction to programming languages, and algorithms. View Book

Information and Communications Technology (Elective Practical)

180+ pages focused on hands-on programming exercises in QBasic programming, HTML, CSS, and Access database management. View Book

Courses I Am Prepared to Teach

My education, teaching background, and experience align well with computer science curriculum at both undergraduate and graduate levels. I am prepared to teach the following courses:

Undergraduate Level Courses

  • CS1054: Introduction to Programming in Java
  • CS1114: Introduction to Software Design
  • CS2114: Software Design and Data Structures
  • CS3114: Data Structures and Algorithms
  • CS3604: Professionalism and Ethics in Computing

Graduate Level Courses

  • CS5244: Web Application Development
  • CS5254: Mobile Application Development
  • CS5704: Software Engineering
  • CS6704: Software Engineering Research Seminar

Pedagogical Training & Professional Development

Future Professoriate Graduate Certificate

Virginia Tech University | Expected: 2025

I am committed to continuous improvement in teaching practice through engagement with teaching centers, attending workshops, and collaborating with colleagues. I plan to continue evolving my teaching practices by incorporating active learning strategies that support and prepare students to gain real-world experiences through lectures, assignments, and programming projects.