Dear HR Manager,
I’m a university professor with a Ph.D. (and a post-doc) in Computer Science. Working on my doctoral and post-doctoral R&D projects made me a fast learner who can self-teach new technologies and work independently to meet deadlines. My industrial experience includes designing relational databases and developing their applications for three projects. I have developed a customized office-work automation system using MS Access and an information system for the Egyptian medical fellowship board using Sybase PowerBuilder and MS SQL Server. Also, I worked on a project to migrate the information system of the Kingdom of Saudi Arabia Royal Guards smart cards system to new versions of Sybase PowerBuilder and Sybase ASE.
I’ve R&D experience from my doctoral and post-doctoral studies. I created a novel trace- based SMT-driven predictive analysis technique using Java in my doctoral work. I developed a proof-of-concept tool to enhance the testing of message-passing-based programs written using the C language and the MCAPI library. I created a deadlock detector for the Eiffel language in my post-doctoral work. In my MSc thesis, I used Visual Basic 6 and XQuery to retrieve software design metrics from UML diagrams stored as XML documents. Within the past ten years, I have taught information technology, computer science, and information systems courses at seven universities and colleges in four countries. My teaching experience includes Java, Visual Basic, Python, C++, T-SQL, relational data modeling, HTML, CSS, JavaScript, and PHP.
I have included all the required material along with this letter. Best Regards,
Dr. Mohamed Elwakil
Mohamed M. Elwakil, PhD
E ad2sur@r.postjobfree.com
W Mohamed.Elwakil.Info
Mohamed M. Elwakil, PhD
ad2sur@r.postjobfree.com
http://Mohamed.Elwakil.info
Technical Skills
· Programming: Visual Basic, Java, Python, JavaScript, HTML, CSS, PHP, T-SQL, C/C++, Yices, Eiffel, PowerBuilder, and Android
· Design: Relational databases and object-oriented modeling (ER/UML) Research Interests
· Automated debugging of message-passing programs
· Educational research
· SMT-based program analysis
Teaching Interests
· Programming Languages
· Database Management Systems
· Software Engineering
· Web development and mobile development
Education
Ph. D.
Computer Science, Western Michigan University,
Kalamazoo, MI, USA
June 2011
Dissertation: Debugging Support for Message-passing Based Concurrent Software
M. Sc.
Information Systems, Cairo University
Thesis: XMI Data Management: Design-Metrics Extraction Jan. 2005 and Analysis
B. Sc.
Information Systems, Cairo University.
Appreciation: Excellent with 1
st
Class Honor Degree.
Rank: 4
th
of 40
GPA: 3.46
May 2000
Full-time Employment
Assistant Professor of Computer Science
Math, Physics & Computer Science Department, University of Cincinnati Blue Ash College, Blue Ash, OH, USA
01/2020
–
Present
Lecturer
School of Informatics, Computing, and Cyber Systems, Northern Arizona University, Flagstaff, AZ, USA
08/2016
–
12/2019
Postdoc Researcher
Lab of Software and Service Engineering, Innopolis University, Innopolis, Tatarstan, Russia
08/2015
–
07/2016
Visiting Scholar
Department of Computer Science, Maynooth University, Maynooth, Kildare, Ireland
December
2014
Lecturer (Assistant Professor)
Information Systems Department, Faculty of Computers, and Information, Cairo University, Giza, Egypt
08/2011
–
08/2015
Research/Teaching Doctoral Assistant
Department of Computer Science, Western Michigan University, Kalamazoo, MI, USA
08/2005
–
06/2011
Teaching/Research Assistant
Information Systems Department, Faculty of Computers, and Information, Cairo University, Giza, Egypt
08/2000
–
08/2005
Part-time Employment
Adjunct Lecturer
Faculty of Computers and Information Technology, Egyptian E-learning University, Cairo, Egypt
09/2012
–
08/2015
Adjunct Lecturer
Arab Academy for Science, Technology and Maritime Transport, Cairo, Egypt
02/2012
–
06/2012
Part-time Software Developer
IBCOL, Cairo, Egypt
Project: Kingdom of Saudi Arabia Royal Guards Smart Cards System Tools: Power Builder 7, Power Designer 6.1
10/2000
–
10/2001
Projects
mzPredictor
mzPredictor is a push-button solution that takes as input the source code of a C program that uses MCAPI and produces as output a report that describes a specific execution scenario that violates the functional correctness of the input program. The below figure shows the mzPredictor workflow and highlights its three components: mzInstrumenter, mzEncoder and mzReporter.
mzInstrumenter instruments a program source code by adding extra code that monitors the program execution and emits events during runtime. An event indicates the execution of a particular program statement that is being monitored. The amalgamation of captured events constitutes a trace of the input program. The resulting trace is accumulated in memory and dumped to a file prior to the termination of the instrumented program. mzEncoder translates the captured trace to a QF-FOL formula that consists of symbolic variables and constraints over the values of the symbolic variables. The translation is performed according to a set of rules (i.e. an encoding) that maps the trace constructs to SMT constructs that are restricted to the background theories supported by the target SMT solver.
DR-MCAPI
DR-MCAPI, the first tool for deterministically replaying MCAPI programs executions. DR- MCAPI works by monitoring a program execution to generate a trace. If the program fails, the trace can be used to produce an execution that is logically equivalent to the one that had failed. Since MCAPI programs executions are inherently irreproducible, providing a deterministic replay capability allows developers to find the failure source. DR-MCPAI supports two replay approaches: data-replay and order-replay. As depicted in the below figure, the deterministic replay process consists of two phases: recording and replay. During a recording phase, a program execution is monitored by a recording environment to record information about the execution in a trace file. When a replay is needed, the data in the trace file is used to replay the program within a replay environment such that the behavior of the program during the replay phase is logically equivalent to the behavior observed in the recording phase.
Certificates
· IBM Mobile Application Developer Certificate – Academic, November 2014 Curriculum Development
· Software Engineering in Mobile Computing, MSc level course to introduce students to mobile applications development and best practices of mobile software engineering, Part of EU-funded project to establish a joint master’s in software engineering (www.jmse.ps)
Selected Publications
· “Deterministic Replay for Message-passing Based Concurrent Programs”, M. Elwakil and Z. Yang, ACM Transactions on Design Automation of Electronic Systems, 17, 3, Article 22 (July 2012). DOI.
· “Deterministic Replay for MCAPI Programs”, M. Elwakil and Z. Yang, Accepted, In Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
(PADTAD - IX), 2011. DOI.
· “CRI: Symbolic Debugger for MCAPI Applications”, M. Elwakil, Z. Yang, and L. Wang. In ATVA 2010: The 8th International Symposium on Automated Technology for Verification and Analysis (ATVA). Springer-Verlag, 2010, Singapore. DOI.
· “Debugging Support Tool for MCAPI Applications”, M. Elwakil and Z. Yang. In Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
(PADTAD - VIII). ACM, 2010, Trento, Italy. DOI.
· “A novel approach to formalize and collect Object-Oriented Design-Metrics”, M. Elwakil, A. El Bastawissi, M. Boshra, and A. Fahmy, 9th International Conference on Empirical Assessment in Software Engineering (EASE 2005), April 2005, Staffordshire, UK.
Courses Taught
Assistant Professor, University of Cincinnati Blue Ash College
· IT 1050: Fundamentals of Information Technology
· IT 1090C: Computer Programming I
· IT 2045C: Computer Programming II
· IT 2060C: Database Management I
· IT 3046C: Client-Side Web Programming
· IT 1081C: Systems Administration
Lecturer, Northern Arizona University
· CS136: Computer Science II
· CS212: Web Programming
· CS345: Principles of Database Systems
· CS396: Principles of Languages
· CS399: Advanced Web Programming
· CS399: Mobile Applications Development
Post-doc Researcher, Innopolis University
· TOC: Theory of Computation
· OOP: Object-Oriented Programming
Lecturer (Assistant Professor), Cairo University
· IS312: Database Systems II
· IS345: Internet Applications
· IS351: Information Systems Analysis and Design
· IS352: Analysis and Design of Information Systems II
· IS612: Advanced Information Systems Engineering
· IS614: Advanced Topics in Information Systems
· IS714: Advanced Web based System Engineering
Adjunct Lecturer, Egyptian E-Learning University
· SWE101: Programming Techniques (1)
· SWE102: Programming Techniques (2)
· SWE203: Programming Techniques (3)
Adjunct Lecturer, Arab Academy for Science, Technology & Maritime Transport
· S226: Information Systems Analysis
· S316: Information Systems Design
Visiting Scholar, Maynooth University
· Testing mobile apps
· Hybrid app development using IBM Worklight Studio