Faculty – IB Diploma Programme Computer Science
[Company Name] · Fully Remote / Live Online · Full-time · Grades 11–12 (DP Years 1–2)
[Company Name] delivers live, small-cohort IB Diploma Programme instruction to students preparing for May and November examination sessions. We are hiring a Computer Science faculty member to teach DP Computer Science at both Standard and Higher Level, supervise the internal assessment, and help build the programming and theory resources that sit behind our online courses.
The ideal candidate is someone who can teach both sides of the subject well — the theory papers that reward precise technical language, and the programming work where students need to design, build and defend a working solution.
Head of Academics / DP Programme Lead
DP Computer Science SL and HL
Live virtual classes (synchronous) plus asynchronous code review and feedback
Approximately 20–24 contact hours per week across cohorts
Small groups of 6–15 students
Cohorts across multiple regions; some early-morning or evening classes required
Full-time (contract or permanent, as agreed)
Teaching and learning
Plan and deliver live online lessons across the full DP Computer Science syllabus at SL and HL, covering both the theory strands and the programming and computational thinking strand.
Teach system fundamentals and computer organisation, networks, databases, and abstract data structures and algorithms, differentiating clearly between SL and HL depth.
Deliver the HL extension content, including advanced data structures, resource management and the object-oriented programming requirements.
Run hands-on programming instruction with live coding, incremental debugging and code review, so students write and read code rather than only studying it.
Teach algorithm design and analysis, tracing, dry runs, flowcharts and IB pseudocode conventions to examination standard.
Prepare students for all assessment components, teaching command terms and the technical precision the markschemes expect.
Internal assessment and project supervision
Supervise the internal assessment end to end — problem identification with a real client, success criteria, design and record of tasks, development, testing, evaluation and documentation.
Guide students towards project scopes that are genuinely achievable in the time available and rich enough to access the top markbands.
Conduct structured code reviews and provide criterion-referenced feedback at each stage of the project.
Mark and internally standardise projects against IB criteria, maintain supervision records, and support moderation.
Enforce academic integrity in code, including correct attribution of libraries, tutorials, external code and AI-assisted contributions.
Curriculum and content development
Build and maintain digital course materials: lesson decks, annotated code examples, starter repositories, exercise sets, question banks and recorded walkthroughs.
Develop programming exercises with graded difficulty, worked solutions and common-error commentary.
Maintain a working practice environment for students, including sandboxes, sample datasets and reference implementations.
Update material in response to syllabus revisions, subject reports and examiner feedback.
Student support and stakeholder communication
Track individual progress and intervene early where students are struggling, especially those with no prior programming background.
Hold one-to-one debugging and doubt-clearing sessions.
Communicate clearly with parents, partner schools and internal academic teams.
Supervise or support extended essays in computer science and draw out TOK links around computation, data and ethics.
Bachelor’s degree in Computer Science, Software Engineering, Information Technology or a closely related discipline; a master’s degree is preferred.
A recognised teaching qualification (B.Ed., PGCE, or equivalent) or IB-recognised professional development in DP Computer Science.
Minimum three years of experience teaching DP Computer Science at both SL and HL, with students taken through at least one full examination cycle.
Strong practical programming ability — able to write, read, debug and explain working code live, not only teach it from slides.
Demonstrated understanding of the current DP Computer Science guide, assessment structure and internal assessment requirements.
Prior experience teaching online to live cohorts, or clear evidence of the ability to do so effectively.
Fluent, confident spoken and written English.
IB Educator Certificate in Teaching and Learning, or completion of IB Category 1, 2 or 3 workshops in Computer Science.
Experience as an IB examiner or internal assessment moderator for Computer Science.
Professional software development experience in industry.
Experience teaching adjacent courses such as DP Digital Society, DP Mathematics, AP Computer Science A, A-Level Computer Science or IGCSE Computer Science.
Experience with competitive programming, olympiad coaching, robotics or hackathon mentoring.
Experience authoring published or commercial computer science teaching and assessment content.
Programming languages and paradigms
Java — strong working proficiency, including the object-oriented concepts the HL course assumes: classes, objects, encapsulation, inheritance, polymorphism, abstract classes and interfaces.
Python — fluency for teaching programming fundamentals, rapid prototyping and student internal assessment projects.
IB pseudocode conventions — able to write, read and teach them to examination standard, and to translate freely between pseudocode and working code.
Familiarity with at least one additional language commonly chosen by students for projects, such as JavaScript, C#, C++ or Kotlin.
Sound grasp of programming paradigms: procedural, object-oriented and basic functional constructs.
Core computer science content knowledge
Abstract data structures: arrays, stacks, queues, linked lists (singly, doubly, circular), binary trees, hash tables and graphs — including traversal, insertion, deletion and recursive implementations.
Algorithms and analysis: searching (linear, binary), sorting (bubble, selection, insertion, merge, quicksort), recursion, tracing and complexity reasoning.
Computer organisation: CPU architecture, the fetch–decode–execute cycle, registers, memory hierarchy, caching, binary and hexadecimal representation, two’s complement, logic gates and truth tables.
Operating systems and resource management: scheduling, memory management, paging, virtual memory, concurrency and polling versus interrupts.
Networks: the OSI and TCP/IP models, protocols, packet switching, addressing, VPNs, wireless standards, data-transmission integrity and network security including encryption principles.
Databases: the relational model, normalisation, entity-relationship modelling, SQL querying, transactions and ACID properties, and awareness of non-relational and distributed databases and data warehousing.
Control systems and embedded computing: sensors, actuators, feedback loops and centralised versus distributed control.
Object-oriented design: UML class diagrams, design principles and refactoring for maintainability.
Awareness of current topics students bring to projects and discussion, including machine learning fundamentals, cloud services and the ethical and social implications of computing.
Development tools and engineering practice
IDEs and editors: VS Code, IntelliJ IDEA, Eclipse, PyCharm and BlueJ, including debugger use, breakpoints and step-through as teaching tools.
Version control with Git and GitHub or GitLab, including branching, pull requests, code review workflows and GitHub Classroom for assignment distribution.
Browser-based and collaborative environments suited to remote teaching: Replit, Google Colab, Jupyter notebooks, CodeSandbox and online compilers.
Command-line competence in a Unix-like shell, plus basic environment, dependency and virtual-environment management.
Testing and debugging practice: unit testing frameworks (JUnit, pytest), test-case design, boundary and edge-case analysis, and structured debugging methodology.
Database and API tooling: MySQL, PostgreSQL or SQLite, plus REST API basics and JSON handling for student projects.
Diagramming and documentation tools: draw.io, Lucidchart, Mermaid, PlantUML and Markdown.
Awareness of AI coding assistants such as GitHub Copilot or Claude, and the judgement to set clear boundaries for their use in assessed work.
Digital teaching and platform skills
Live virtual classroom delivery using Zoom, Google Meet or Microsoft Teams, including breakout rooms, screen sharing and dual-screen live coding setups.
Learning management systems such as Canvas, Moodle, Google Classroom, Schoology or ManageBac — including assignment setup, gradebook management and unit planning.
Automated assessment and practice platforms such as GitHub Classroom, Codio, HackerRank, LeetCode, Codeforces or CodeHS.
Digital whiteboarding and annotation for live algorithm tracing, memory diagrams and data-structure visualisation.
Screen recording and light editing for asynchronous code walkthroughs using tools such as Loom, Camtasia or OBS.
Interactive engagement tools such as Kahoot, Quizizz, Mentimeter, Padlet and Pear Deck for theory retrieval practice.
Advanced spreadsheet skills in Excel or Google Sheets for cohort performance tracking and item-level analysis.
Ability to troubleshoot students’ own setups remotely — installations, environment issues, paths, permissions and connectivity.
Patience with beginners alongside the depth to stretch students heading into computer science degrees.
The instinct to debug alongside a student rather than hand over the fix.
Clarity and warmth on camera, with the energy to hold attention in an online room.
High standards for technical accuracy, as students’ grades depend on it.
Collaborative, receptive to feedback and willing to iterate on material.
Culturally responsive teaching practice with internationally diverse cohorts.
Competitive compensation benchmarked to experience and IB credentials.
Fully remote work with a structured, predictable timetable.
Funded IB professional development, including workshop categories relevant to the role.
Health insurance and standard statutory benefits.
A home-office and technology allowance, including hardware suited to live coding.
Paid leave aligned to the academic calendar.
Small class sizes and genuine academic autonomy, with a team that invests in teaching quality.
Please send your CV, a brief cover note describing your DP Computer Science teaching experience, and a link to a code sample or repository of your own teaching material to [email address]. Shortlisted candidates will be asked to deliver a short online demonstration lesson involving live coding, and to complete a marking exercise on a sample internal assessment.
[Company Name] is an equal opportunity employer. We welcome applications from candidates of all backgrounds and do not discriminate on any protected ground.
Note for the hiring team: placeholders in square brackets need filling, and all syllabus-specific references should be checked against the current IB subject guide and your own examination-session timeline before posting.