Post Job Free

Resume

Sign in

Computer Science Post Doctoral

Location:
Glastonbury, CT
Posted:
January 15, 2024

Contact this candidate

Resume:

Elwakil - Cover Letter - */*

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

T +1-928-***-****

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



Contact this candidate