ILAC

Instructor - Java Programming & Object-Oriented Analysis/Design

ILAC · Toronto, Ontario, Canada · CA$94K/yr

Education · 1,001-5,000 employees

4 h ago
Mid (2-5 yrs) Contractor Canada
Log in to apply, save this posting, or score it against your profile with AI.

About the role

Deliver interactive classroom instruction and facilitate hands-on labs for Java programming and Object-Oriented Analysis and Design courses. Responsibilities include preparing lesson plans, assessing student progress through projects and exams, and mentoring students in software architecture.

What they look for

Java Programming Object-Oriented Analysis and Design UML Modeling Python Software Architecture Design Patterns SDLC Machine Learning Classroom Facilitation Curriculum Delivery Technical Mentoring Requirements Analysis Git/GitHub Visual Paradigm Exception Handling Multithreading

Requirements

Requires a Bachelor's degree in Computer Science or a related field and at least 3 years of industry or teaching experience. Candidates must be proficient in Java, UML modeling, and software design patterns, with Python and AI framework experience preferred.

Full description

Contract Instructor – Java Programming

Location: Toronto, ON (In-Person) Position Type: Contract Contract Dates: September 14 – December 14 Teaching Schedule: Mondays, 8:30 a.m. – 12:30 p.m. Compensation: $45.00 per hour

About the Opportunity

ILAC International College is seeking an industry professional with expertise in software development and artificial intelligence to teach two technology courses. We are looking for someone who is passionate about their field and enjoys sharing their knowledge with the next generation of tech professionals. Whether your background is in software engineering, AI, machine learning, or technology innovation, you'll have the opportunity to bring real-world industry experience into the classroom and help students build practical, job-ready skills.

Responsibilities

  • Deliver engaging, interactive classroom instruction aligned with the approved course syllabi.
  • Prepare lesson plans, presentations, demonstrations, and learning activities.
  • Facilitate hands-on programming exercises, labs, and classroom discussions.
  • Assess student learning through assignments, quizzes, projects, and examinations.
  • Provide timely and constructive feedback to students.
  • Monitor attendance, participation, and academic progress.
  • Maintain accurate student records and submit grades by established deadlines.
  • Foster an inclusive, supportive, and collaborative learning environment.
  • Participate in faculty meetings and work collaboratively with Academic Services as required.

What You'll Teach

Students begin by building a solid foundation in Java before progressing to object-oriented programming principles and application development. Throughout the course, they learn how to write clean, efficient, and maintainable code while applying industry-standard software development practices.

The course emphasizes hands-on programming, allowing students to build practical applications while developing the analytical and problem-solving skills expected of today's software developers.

Key learning areas include:

  • Java syntax, variables, data types, and control structures
  • Methods, arrays, and collections
  • Object-oriented programming concepts including encapsulation, inheritance, abstraction, and polymorphism
  • Exception handling and debugging techniques
  • File input/output and data persistence
  • Multithreading and basic concurrency concepts
  • Java Collections Framework
  • Software testing and debugging strategies
  • Introduction to GUI and application development
  • Best practices for writing scalable, maintainable code using industry development standards

Qualifications

  • Bachelor’s degree in computer science, Software Engineering, Artificial Intelligence, Data Science, or a related field considered an asset.
  • Minimum 3 years of industry and/or post-secondary teaching experience.
  • Strong proficiency in Java programming.
  • Experience with Python and machine learning frameworks such as Scikit-learn, TensorFlow, or similar tools.
  • Experience teaching adult learners or international students is considered an asset.
  • Excellent communication and classroom facilitation skills.
  • Ability to explain technical concepts in an engaging and accessible manner.

Preferred Experience

  • Software development experience in an industry setting.
  • Experience with Git/GitHub and collaborative software development.
  • Knowledge of AI and data science applications in business or technology.
  • Experience developing project-based learning activities.

Contract Instructor – Object-Oriented Analysis and Design with UML

ILAC International College is seeking an experienced software development professional to teach our Object-Oriented Analysis and Design with UML course. We are looking for an instructor who is passionate about software architecture, systems analysis, and object-oriented design, and who enjoys helping students develop the skills required to design scalable, enterprise-level software solutions.

This course introduces students to object-oriented analysis and design using the Unified Modeling Language (UML), emphasizing software modeling, requirements analysis, design patterns, and system architecture. Students learn to transform business requirements into software designs using industry-standard UML diagrams while gaining exposure to object-oriented implementation concepts in Java or Python.

Position Details

  • Course: Object-Oriented Analysis and Design with UML
  • Schedule: Thursdays, 8:30 a.m. – 12:30 p.m.
  • Location: Toronto Campus
  • Employment Type: Contract
  • Compensation: $45.00 per hour

What You’ll Teach

This course bridges the gap between software requirements and software development by teaching students how to analyze, model, and design object-oriented systems. Through lectures, practical modeling exercises, and a comprehensive design project, students learn to create UML diagrams, apply object-oriented principles, and use software design patterns to develop robust application architectures before implementation. The course also introduces the Unified Software Development Process and emphasizes industry best practices in software design.

Key Topics

The successful instructor will teach topics including:

  • Software development lifecycle (SDLC) and software design principles
  • Object-oriented analysis and design concepts
  • Unified Modeling Language (UML)
  • Use Case Diagrams and requirements modeling
  • Class and Object Diagrams
  • Sequence and Communication Diagrams
  • Design Patterns (GoF), including Singleton, Factory, Adapter, Composite, Command, and Observer
  • Software architecture and modeling best practices
  • Translating UML designs into Java or Python implementations
  • End-to-end software design project development using Visual Paradigm or a similar UML modeling tool

Responsibilities

  • Deliver engaging classroom instruction and facilitate practical UML modeling workshops.
  • Guide students through the complete software analysis and design process, from requirements gathering to architectural design.
  • Mentor student teams through a multi-week software design project, providing regular feedback and project supervision.
  • Assess student learning through assignments, projects, and examinations.
  • Foster critical thinking and problem-solving using real-world software design scenarios.
  • Maintain accurate attendance, grades, and academic records.
  • Collaborate with the Academic Department to ensure high-quality course delivery and student success.

Qualifications

  • Bachelor's degree or higher in Computer Science, Software Engineering, Information Systems, or a related discipline.
  • Minimum 3 years of professional experience in software development, software architecture, systems analysis, or solution design.
  • Strong knowledge of: • Object-oriented programming principles
  • UML modeling and software design
  • Software Development Life Cycle (SDLC)
  • Design patterns and software architecture
  • Java and/or Python
  • Experience with UML modeling tools such as Visual Paradigm, Enterprise Architect, StarUML, or similar.
  • Experience gathering business requirements and translating them into technical designs is highly desirable.
  • Previous teaching, mentoring, technical training, or corporate facilitation experience is considered an asset.

Why Teach at ILAC International College?

At ILAC International College, our instructors are industry professionals who bring real-world expertise into the classroom. You'll have the opportunity to prepare the next generation of software developers by teaching the design methodologies, architectural thinking, and analytical skills that underpin successful software engineering careers.

If you are passionate about software design, systems architecture, and mentoring future technology professionals, we encourage you to apply.

ILACIC is an equal opportunity employer and is committed to providing employment accommodation in accordance with the Ontario Human Rights Code and the Accessibility to Ontarians with Disabilities Act. If contacted, please advise should you require accommodation during the hiring process.

#ILACH