+966-13-849-9272
mnagy@pmu.edu.sa
F-019
Dr. Nagy obtained his B.Sc. in Computer Science from the Technical University of Cluj-Napoca, Romania in 1993. He then worked as a software developer in Romania until 1999, when he moved to Canada to pursue an academic career. Dr. Nagy obtained his M.Sc. and Ph.D. degrees in Computer Science from Queen’s University at Kingston, Ontario in 2001 and 2007, respectively. His Ph.D. thesis focuses on novel applications of quantum mechanics into information processing and data security.
Dr. Nagy continued as a post-doctoral fellow in the School of Computing at Queen’s University until the end of 2008. In 2009, he took a position as sessional instructor in the Royal Military College of Canada, Department of Math and Computer Science. Since February 2010, Dr. Nagy was appointed as Assistant Professor in the College of Computer Engineering and Science at Prince Mohammad Bin Fahd University, Al Khobar, Kingdom of Saudi Arabia.
His research interests include quantum information processing, particularly with applications to cryptography, parallel and unconventional models of computation and algorithms. Dr. Nagy’s publication record includes several book chapters and over 40 journal and conference papers.
Ph.D. School of Computing, Queen’s University 09/2002 – 06/2007
Computer Science Thesis: “Using quantum mechanics to enhance
information processing”.
M.Sc. School of Computing, Queen’s University 01/2000 – 10/2001
Computer Science Thesis: “Parallelism in real-time computation”.
B.Sc. Faculty of Automation and Computer Science 09/1988 – 06/1993
Computer Science Technical University of Cluj-Napoca, Romania
Diploma project: “Process management for a
PARLOG interpreter”.
Recent publications are listed here. The complete list of publications is included in the CV.
https://scholar.google.com/citations?user=gNuw75cAAAAJ&hl=en
https://www.scopus.com/authid/detail.uri?authorId=8987669100
https://orcid.org/0000-0003-2202-1681
- Prince Mohammad Bin Fahd University, Kingdom of Saudi Arabia (February 2010 - present).
Assistant Professor, College of Computer Engineering and Science.
- Royal Military College of Canada, Math & Computer Science Department, Kingston, Ontario.
sessional instructor (2009).
- Queen’s University, School of Computing, Kingston, Ontario (2002-2008).
post-doc, sessional instructor, teaching and research assistant during Ph.D. program.
- Queen’s University, Dept. of Computing and Inf. Science, Kingston, Ontario, (2000-2001).
teaching and research assistant during M.Sc. program.
- Compania de Informatica si Automatizari, Cluj-Napoca, Romania, (1994-1999).
software developer.
- Tricotaje Somesul, Cluj-Napoca, Romania, (1992-1994).
programmer.
- Technical University of Cluj-Napoca, Faculty of Automation and Computer Science (1993).
teaching assistant.
College of Computer Engineering and Science
Prince Mohammad Bin Fahd University
Kingdom of Saudi Arabia (2010–present)
– GEIT2331 Mathematical Reasoning and Algorithmic Thinking
Mathematical Reasoning and Algorithmic Thinking is concerned with the application
of objects with discrete characteristics to computer science as a discipline such that
commonly used structures may be described, characterized and analyzed. The course
examines the fundamentals of propositional and predicate logic, set operations, functions,
sequences and summations, matrices, design and analysis of algorithms, mathematical
reasoning including proofs and induction, recursion, and program correctness.
– COSC3332 Discrete Structures and Combinatorial Analysis
This course is a continuation of GEIT2331 Mathematical Reasoning and Algorithmic
Thinking and focuses on the study of objects that have discrete as opposed to continuous
values, including counting techniques, relations and combinatorics. Graphs,
including Euler and Hamilton paths and shortest path problems are examined, as are
tree applications.
– COSC3351 Algorithms
This course is concerned with the study of the design and performance analysis of algorithms,
including divide-and-conquer, graph algorithms, dynamic programming, and
greedy algorithms.
– COSC4311 Parallel Computing
The main purpose of this course is to provide a basic, in-depth look at techniques for the
design and analysis of parallel algorithms and for programming them on commercially
available parallel platforms. Principles of parallel algorithm design for various parallel
programming models are discussed.
– COSC4461 Programming Languages
Programming languages is the study of basic concepts and constructs underlying the design
of the modern programming languages. Various programming paradigms, including
object-oriented, functional, logic, and concurrent programming are discussed.
– COEN3323 Digital Systems
This course addresses the understanding and design of digital systems. Topics progress
through Boolean algebra and logic gates; combinational logic; sequential logic and synchronous
sequential logic systems; and design of logic circuits.
– ITAP4371 E-Commerce
The primary objective of this course is to expose students to the advanced use of information
technology in the design and implementation of Web-based business applications to
support e-commerce. The course presents concepts, methodology, and tools for designing,
implementing, and management of e-commerce applications in a business-to-business
paradigm.
– ITAP1312 Web Programming
This course is designed to provide the students with an introduction to World Wide
Web programming. It introduces the student to the techniques used in programming
web pages for interactive content. It specifically addresses the basic elements of AJAX
-Asynchronous JavaScript and XML for enhanced web interaction and applications.
– ITAP/COSC 3411 Systems Programming
Systems programming is the study of the basic programming principles and skills for
building systems software, including the introduction to UNIX, shell programming, C,
and Python programming.
– ITAP3471 Web Server Management
The primary objective of this course is to give students a comprehensive overview of
the tools and techniques needed to successfully administer Web servers. The course is
designed so as to cover topics that are relevant to the role of a Web server administrator.
Topics include installation, configuration, and administration of Web servers on common
hardware/software platforms.
– ITAP2381 Operations Research
This course introduces some of the basic concepts in operations research and quantitative
analysis. Students gain a working knowledge of operations research techniques that are
used extensively in organizations to solve large, structured problems. Coverage includes
the use of optimization (linear, integer, and non-linear programming) models, network
models, simulation and risk analysis in developing optimal solutions to operational and
strategic problems in modern organizations.
– ITAP4311 Database Management
This course focuses on the role of databases in organizations and the role of database
development within the systems development life cycle. Included in the class is the
introduction of a conceptual data modeling technique focusing on the entity relationship
model and the enhanced entity relationship model. Also included in the course is the
knowledge for converting a conceptual data model to the relational data model in the
logical database design phase, and to learn the steps necessary to achieve an efficient
database design in the physical database design phase. Structured Query Language
(SQL) and Query-by-Example software are used to illustrate the classroom concepts
and homework. The course also introduces the concept of Web-database connectivity.
– GEEN2312 Introduction to Computing
The course teaches the fundamentals of C programming to solve complicated mathematical
problems. This includes general problem-solving techniques, designing, coding,
debugging, and documenting programs, and the use of good programming style; especially
as applied to engineering applications.
– GEIT1411 Computer Science I
The course presents primary programming concepts: flow of control, branching statements,
boolean logic, loops, nested loops, functions, pass by value, pass by reference,
arrays, reading from and writing into a file.
Math & Computer Science Department
Royal Military College of Canada (2009)
– CSE 260 Introduction to Computer Concepts
An elective course for students in Arts. This course is part of the core curriculum.
This course gives an introduction to information technology and its applications. Topics
include an overview of computer hardware and system software, algorithm design, programming
in a high level language, use of spreadsheets and data base systems. Computer
networks and the Internet. Security considerations.
– CSE 321 Algorithm Analysis
Analysis of algorithms and computational complexity, complexity measures and standard
complexity classes, use of recurrence relations to analyze recursive algorithms.
Fundamental algorithmic strategies: brute-force, greedy, divide and conquer, recursive
backtracking. Strings and pattern-matching algorithms. Graph and tree traversals, algorithms
for shortest-path, transitive closure, minimum spanning tree. Implementations
of graphs and trees. Introduction to computability, Turing machines, algorithmically
unsolvable problems, halting problem.
School of Computing, Queen’s University
Canada (2007–2008)
– CISC 466 Algorithms II
This course is a continuation of CISC-365 (Algorithms I). Examples of topics studied
are: theoretical foundations of dynamic programming and the greedy method, amortized
analysis, sorting networks, matrix operations and approximation algorithms.
– CISC 491/879 Unconventional Computing
This course is an introduction to the two aspects of unconventional computing, namely,
unconventional models of computation and unconventional computational paradigms.
Unconventional models of computation to be studied include parallel computers, quantum
computers, biological computers (in vivo and in vitro), analog neural networks,
accelerating machines, and so on. Unconventional computational paradigms to be studied
include computing in real time with deadlines, computing under the control of the
laws of nature, computing subject to mathematical constraints, computing with time
varying variables, interactive computing, and so on.
Applications of quantum mechanics in computing and information processing, data communication and security, unconventional models of computation, design and analysis of algorithms, parallel models and algorithms.
member of the ACM