Mohammad Ghoniem’s website

© Mohammad Ghoniem – février 2007


Detailed teaching experience

Sunday 28 January 2007, by Mohammad Ghoniem

All the versions of this article:


Between 2000 and 2006, I got the chance to teach various topics in computer science, to undergraduate students as well as continuing education students, in a number of French Universities and engineering schools. Transmission of knowledge in a clear pedagogical fashion is one of the most enjoyable, yet demanding, experiences I have gone through. Below is a detailed description of my earlier teaching activities.

Summary

The following table summarizes my former teaching employments as well as statutory number of hours.

Institution Dates Statutory service hours
Université de Bretagne Sud 01/09/2004 - 31/08/2005 [/192h/]
Université de Nantes 01/11/2003 - 31/08/2004 [/96h/]
École des Mines de Nantes 01/11/2000 - 30/10/2003 [/120h/]
[/Total :/] [/408h/]

The following table summarizes the courses I taught over the past five years. A detailed account of my teaching experience is provided in the sequel.

Institution Course Title Period Students
University of South Brittany 3-Tiers applications Spring 2005 28
University of South Brittany Data structures in Java Spring 2005 44
University of South Brittany Graphical User Interface Design Spring 2005 22
University of South Brittany Software-Engineering Spring 2005 22
University of South Brittany Object-Oriented Programming in Java Fall 2004 44
University of Nantes Introduction to Algorithmics Spring 2004 36
University of Nantes Networking Spring 2004 30
University of Nantes Object-Oriented Programming in Java Spring 2004 20
University of Nantes Graphs and Operational Research Fall 2003 24
University of Nantes Project Management Fall 2003 30
École des Mines de Nantes Human Computer Interaction Fall 2003 19
École des Mines de Nantes Relational Databases Spring 2002 20

Lecturer and Teaching Assistant at the University of South Britanny

I was recruited at the University of South Britanny (UBS) as a full time Attaché Temporaire d’Enseignement et de Recherche (provisional teaching and research assistant) for one year, between September 1st 2004 and August 31st 2005. My teachings took place at IUP of Vannes (France) and at the IUT of Vannes. I was given the full responsibility of teaching a course on 3-Tiers Architectures, a course that was being taught for the first time; I had to create the educational material used in my lectures as well as the exercises and exams related to that course. I also assumed the responsibility of assisting several full professors in teaching various topics as detailed below. Further information can onbtained from Frédéric Raimbault, the vice director of MIS department at the UBS, as well as Michel Adam, the director of the computer science department at the IUT of Vannes.

3-tiers Architectures

Personal involvement: Full responsibility (lecture, exercises, exams).
Audience: 28 3rd year students.
Classroom hours: 49.5.

Module INF1605, dedicated to 3-tiers architectures was proposed for the first time to 3rd year students at the U.B.S. I took full responsibility of creating this course as well as the related exercises in view of giving the students a strong theoritic background as well as a practical know how allowing them to build internet applications. To take up this challenge, the course reviews several web related languages and technilogies involved in writing 3-tiers client/server applications such as: PHP, MySQL, HTML, Javascript, CSS and JDBC. At the end of the this module, students are capable of writing dynamic web portal type applications and are familiar with security related problems.

The slides and exercise sheets produced for this course are available online at Valoria’s website and here.

Software Engineering

Personal involvement: Partial responsibility (exercises).
Audience: 22 students in the last year at the IUT of Vannes.
Classroom hours: 18.
Professor in charge: Daniel Devaux.

I coached a group of last year students at the computer science department of IUT of Vannes. This course and the related exercises aimed at introducing the notion of design patterns and object oriented modeling using the modeler called Poseidon. Classroom work confronts the students with major design patterns such as Observer/Observable. Starting from an existing piece of software, students learn to extract its main components, find design flaws, and ponder on future extensions. In a nutshell, they are trained on the type of missions they will be facing in the work place after their graduation.

Besides coaching the students, I helped the professor in charge in creating the related exercise sheets.

Programming in java

Personal involvement: Partial responsibility (exercises).
Audience: 2 x 22 students.
Classroom hours: 42.
Professor in charge: Isabelle Borne.

I coached two groups of 1st year students at the computer science department of the IUT of Vannes, with respect to object oriented programming in java. This is their first programming experience after the French baccalauréat. A fair pedagogical effort is needed to teach them the best programming practices with regard to problem analysis and modeling, as well writing effective, well documented and easily maintenable source code.

Besides the actual coaching during classroom hours, I helped the professor in charge in writing the exams.

Data Structures in java

Personal involvement: Partial responsibility (exercises).
Audience: 2 x 22 students.
Classroom hours: 48.
Professor in charge: Salah Sadou.

I coached two groups of 1st year students at the computer science department of the IUT of Vannes, with respect to data structures in java. This courses introduces the notions of complexity and contracts, through exercises on sort algorithms. It makes the students master the most common data structures and the use of the corresponding java API.

Besides the actual coaching during classroom hours, I helped the professor in charge in writing the exams.

Graphical User Interfaces in java

Personal involvement: Partial responsibility (hands-on exercises).
Audience: 22 students.
Classroom hours: 24.
Professor in charge: Salah Sadou.

I coached two groups of 1st year students at the computer science department of the IUT of Vannes, with respect to building graphical user interfaces in java. Students get an introduction to the design graphical applications and to the graphic libraries of java: AWT and SWING. Through the exercise sheets, students are confronted to problems related to ergonomy, layout of graphic widgets and event driven programming. This module puts to contribution all the programming know how acquired throughout the year in the aforementionned courses.

Project Mentoring

Personal involvement: Partial responsibility (Mentoring of students).
Audience: 22 students.
Classroom hours: 25.
Professor in charge: Daniel Devaux.

I coached two groups of 1st year students at the computer science department of the IUT of Vannes, with respect to their final programming project . This is a synthesis project in which students apply their knowledge throughout their first year at the IUT to the creation of an advanced computer game.

For this sizeable programming experience, the pedagogical team composed of four professors, including myself, offer the students thematic workshops providing complementary knowledge needed to carry out the project. Hence I contributed to the update and improvement of existing teaching materials, especially with regard to the use of regular expressions to parse input data. Outside these workshops, I supported the students on demand.

Teachings at the University of Nantes

I was recruited as a half-time Teaching Assistant at the Faculty of Sciences in the University of Nantes between January 1st 2004 and August 31st 2004. More information in this regard can obtained from Marie-Madeleine Tallineau, the director of the computer science department at the University of Nantes until 2004. My teaching service was divided between three different undergraduate curricula (licence informatique, IUP MIAGE and DEUG SVT) and delat with the following topics:

Algorithmics and programming initiation

Personal involvement: Partial responsibility (exercises).
Audience: 36 students in DEUG SVT.
Classroom hours: 21h of theory + 18h of hands-on exercises.

This course presents the essential concepts of algorithmics and their implementation using the Pascal language. It provides fundamental knowledge in computer science to first year students in DEUG SVT (biology). Often seen as a secondary subject by biology students, it takes a fair amount of pedagogy to draw the attention of the students and bolster their motivation.

This module has been taught for many years, my involvement consisted in coaching the students during both theoritic and hands-on exercise sessions.

Networking

Personal involvement: Partial responsibility (hands-on exercises).
Audience: 2 x 15 students.
Classroom hours: 18h de TP.

This course includes 18 hours of hands-on exercise sessions concerning hardware wiring as well as low level data transmission over and ethernet network. The first hands-on exercises dealt with the hardware and software configuration of computer network under Linux and MS Windows, including the configuration of a gateway. Then the students study the transmission of ethernet frames using a C application drafted by the teaching team. My role consisted in providing the students the theoritical reminders needed to carry out their exercises and support them on demand.

Project Management

Personal involvement: Partial responsibility (hands-on exercises).
Audience: 2 x 15 students in the 2nd year of IUP MIAGE.
Classroom hours: 24h of hands-on exercises.

This module is taught to students in economy and deals with project planning using PSN8. Using my knowledge previously acquired in my engineering school, I coached the students during their hands-on exercises.

Event driven programming in java

Personal involvement: Partial responsibility (exercises).
Audience: 20 students in the 2nd year of IUP MIAGE.
Classroom hours: 12h of theory exercises and 24h of hands-on exercises.

This courses introduces event-driven object oriented programming in java. I contributed to the elaboration of exercise sheets and classroom coaching. I proposed the topic of the final project concluding this module and bearing on the implementation of a geometric drawing framework through a graphical user interface and supporting various methods such as area and perimeter computation as well as various interactions like selection, grouping, translation, etc.

Graphs and operations research

Personal involvement: Partial responsibility.
Audience: 24 students in the 3rd year at the IUP MIAGE.
Classroom hours: 24h of hands-on exercises.

The hands-on exercises of this course dealt with the analysis, the modeling and the implementation of an optimization problem according to the branch-and-bound technique. Students chose the implementation language and applied the notions seen during the lectures with regard to graph theory and operations research. As a member of the pedagogical team, I developped a problem generator making it possible to create a benchmark of problems used in the final evaluation of the students work. I was also involved in the coaching of student groups during their hands-on classroom work.

Teachings at the École des Mines de Nantes

Between November 1st 2000 and October 30th 2003, I took responsibilty of theritical and hands-on exercises for several courses in the computer science department at the École des Mines de Nantes (EMN), totaling 40 hours per year for three years, that is 120 hours of teaching. The EMN is one of the most competitive engineering schools in France. It educates generalist engineers over a four-year curriculum. Students are mainly recruited after a competitive entry exam on the French national level. Its curriculum is split in two common-track years and two specialty years. The EMN also provides a continuing education curriculum. My teachings addressed all types of students ranging from the two years of common track education to the two years of computer science specialty as well as the continuing education curriculum. The pedagogical material had to be adapted as necessary for each type of audience.


[|2002 — 2003|]

Interaction and visualisation

Personal involvement: Graduate seminar.
Audience: 18 MS student-engineers at the EMN.
Classroom hours: 3h45.

Within the Human Computer Interaction course, in the GIPAD option (Computer science as an aid to decision-making), I gave a graduate seminar covering information visualization techniques, with an emphasis on tree and network data, and shedding light on the role information visualization can play as part of decision-making tools.

Human—Computer Interaction

Personal involvement: Partial responsibility (exercises).
Audience: 25 student-engineers, including 6 in continuing education.
Classroom hours: 20h.

This course featured 20 hours exercises including 2h30 of participatory design, 5 hours of hands-on exercises about the design of graphical user interfaces in java swing and the MVC model. I contributed to the creation of exercise sheets as well as the actual coaching of 20 students who had to implement an application of their choice, such as a geometric modeler. I found the contact with an audience of continuing education students very interesting as they are more mature than younger students and like to push their understanding one step deeper.

PHP — Internet — Intranet

Personal involvement: Partial responsibility (hands-on exercises).
Audience: 20 student-engineers.
Classroom hours: 7h30.

I coached a group of 20 students who had to implement a shared calendar application in PHP as part of the internet-intranet course given at the École des Mines de Nantes.

Jury of industrial projects

I served as a member of Jury evaluating second and third year industrial projects at the EMN. These project labelled Study of Industrial Methods and Processes, on the one hand, and Field Study, on the other hand, assess the knowledge acquired by the student-engineers through two missions carried out as a team in an industrial setting. As a former student of the EMN, I was invited to participate in such juries.


[|2001 — 2002|]

Relational Databases

Personal involvement: Partial responsibility (exercises).
Audience: 20 student-engineers.
Classroom hours: 18h45 of theory and hands-on work.

The theoritic exercises covered the normalization of a database schema, entity-relation modeling as well as an intriduction to the SQL query language. The hands-on exercises covered the analysis and implementation of a complete solution for computerization of the training process in a company.

Object Oriented Programming in java

Personal involvement: Project mentoring.
Audience: 4 engineering-students, in the 2nd year.
Classroom hours: 20h.

I mentored a group of four students in the second year with respect to their object-oriented programming project aimed at cimplementing an HTML editor. For their first substantial programming experience, my work consisted in accompanying the students starting with the specification phase, until the implementation of their application. I also took this chance and gave the students a first glimpse of problems related to ergonomy and design of graphical user interfaces.

Jury of industrial projects

I served as a member of Jury evaluating the second year industrial project at the EMN. This project labelled Study of Industrial Methods and Processes assesses the knowledge acquired by the student-engineers through a mission carried out as a team in an industrial setting. As a former student of the EMN, I was invited to participate in this jury.


[|2000 — 2001|]

Algorithmics in the C language

Personal involvement: Partial responsibility (hands-on exercises).
Audience: 20 student-engineers, in the first year.
Classroom hours: 3h45.

I replaced a colleague in a hands-on exercise session about algorithmics in C. This session introduced the notions of functions and procedures.

Object-Oriented Programming in java

Personal involvement: Partial responsibility (project mentoring).
Audience: 2 x 4 student-engineers, in the second year.
Classroom hours: 40h.

I mentored two groups of students for their object-oriented programming project. One group implemented an electronic agenda, while the other implemented a battelship computer game. The mentoring consists in accompanying the students along the specification and implementation phases. Through this module I had the opportunity to teach the students the est practices of object-oriented programming and introduce the main notions of ergonomy and graphical user interface design.

Teaching Project

Born in the early 1990s as an independent discipline, information visualization has matured and has shyly become part of only a few university curricula in Europe, as a complement of teachings on artificial intelligence and constraint-oriented programming. This trend needs to be more firmly pursued and expanded, especially in the education of future decision makers in the industry, or future researchers having to face huge amounts of data. Having discovered information visualization as a graduate student, I am now looking forward to the creation of a course on Human Computer Interaction adn Information Visualization. This course would cover the essentials of ergonomy and design of graphical user interfaces. It could also be envisionned in conjunction with teachings on databses, since an increasing number of research works deal with the visual exploration of large databases.


RSS 2.0 [?]

ghoniem.info

Private area

Site powered by SPIP
Template GPL Lebanon 1.9