This page is used instead of my university page which is down because of the current situation in the Gaza Strip
Credit units: 3 units
Prerequisite: Software Design (SDEV 2302) and Service-Oriented Software Engineering (SDEV 3406)
Course description:
A new approach to software development and usage. The course aims to introduce the up-to-date field of software concepts, techniques and tools related to cloud-based software. The software development methodologies and lifetime processes students have studied in their previous courses. It takes the student through the whole life cycle of building a cloud application, starting at problem formulation, requirements analysis, system design, down to Java coding and deploying.
Objectives:
Provide the student with practical skills on cloud-based software lifetime processes, starting from requirements elicitation to developing, testing, deploying software applications,
Enable the student to use methodologies and techniques for software development such as XaaS.
Reinforce methodical software development through a number of case studies from diverse application domains,
Familiarize the student with latest tools and technologies used for developing and deploying cloud services.
Course outline
Cloud overview
Cloud architectures and classification
Object-Oriented technology in the cloud
Software engineering for the cloud
Distributed architectures and software systems
Cloud-based environments and deployments
Cloud application development
Cloud security
Recent issues
Methodology
Lectures, case studies, application development assignments, class discussions, reading assignments, written assignments, research reporting, software development project, and examinations.
Literature
Cloud Computing for Programmers: Software Development in the Age of Cloud. D. Casal. 2014
Software Engineering Frameworks for the Cloud Computing Paradigm. Mahmood, Zaigham, Saeed, Saqib (Eds.). 2013
Cloud Computing and Software Services Theory and Techniques. Syed A. Ahson an Mohammad Ilyas. CRC press. 2011.
Implementing and Developing Cloud Computing Applications. David Sarna. CRC press. 2011.
Enterprise Cloud Computing Technology, Architecture, Application. Gautam Shroff. Cambridge University Press 2010.
Online resources.
Grading
Final Exam 40%
Midterm Exam 20%
Development assignments, written assignments, reading assignments and term paper 20%
Programming assignments 20%
Course Identification
Course code: MOBC 3304
Course title: Cloud Computing and its Applications (Mobile Cloud Computing)
Credit units: 3 units
Prerequisite: 2nd year courses
Course Instructor: Dr. Eng. Rebhi Baraka
rbaraka@iugaza.edu.ps
http://site.iugaza.edu.ps/rbaraka/ (https://sites.google.com/iugaza.edu.ps/rbaraka/)
Course schedules:
Currently, this course is taught online.
Course description:
It is an intersection of cloud computing and mobile applications. The course aims to introduce the cloud computing with orientation to cloud application and its particularities specially mobile applications. It covers areas and topics related to cloud infrastructure, platforms (mobile ones), and software as a service (cloud native mobile applications). Nature of these applications and their deployment considerations are also covered in the course.
Objectives:
Provide the student with concepts related to cloud computing and its intersection with mobile applications.
Provide the students with existing spectrum of cloud mobile services that can be used in various mobile environments and for various purposes.
Enable the student to know how mobile applications can be supported by a cloud computing infrastructure
Familiarize the student with latest tools and technologies used for developing and deploying mobile cloud services.
Enable the student to use such tools techniques to develop, deploy, test/use mobile applications on the cloud.
Course outline
Mobile Cloud Computing overview
Virtualization in Cloud Computing
Offloading in Mobile Cloud Computing
Platform as a Service (PaaS)
Mobile Data in Cloud
Firestore: Database for Mobile Cloud Applications
Mobile Cloud application development
Applications of Mobile Cloud Computing
Recent issues
Methodology
Lectures, case studies, application development assignments, class discussions, reading assignments, written assignments, research reporting, software development project, and examinations.
Literature
Mobile Cloud Computing: Architectures, Algorithms and Applications. Debashis De, CRC Press, 2016.
Mobile Cloud Computing: Foundations and Service Models 1st Edition. Dijiang Huang and Huijun Wu, Morgan Kaufmann, 2017.
Cloud Computing for Programmers: Software Development in the Age of Cloud. D. Casal. 2014
Grading
Two online quizzes 10%
Midterm Exam 20%
Final Exam 40%
Development assignments (Part of the project is from the lab section), written assignments, reading assignments and term paper 30%
Credit units: 3 hours
Prerequisite: 1st year courses
Course instructor: Dr. Eng. Rebhi S. Baraka (rbaraka@iugaza.edu.ps)
Course description
This course is about research skills in information technology. It aims to provide the student with the needed skills to plan, conduct and communicate research. It covers techniques and tools needed at each stage of a research thesis including choosing a research topic, determining and formulating the research problem, building the theoretical background, literature review and analysis, data analysis, validating results, writing and presenting the thesis.
Course objectives
- To provide the student with the basic computer science and information technology research skills.
- To enable students to apply research methods and techniques suitable for information technology.
- To give students the ability to critique and review literature related to his/her research.
- To help students determine and formulate his/her research problems.
- To demonstrate how students should write his/her research proposal.
- To demonstrate how students should write a research paper.
- To provide the student with the knowledge needed to prepare the final thesis report and to orally present his/her results.
Course outline
1. Scientific research, tools and methods of research
a. What is research
b. The methods and techniques of research in IT
c. The tools of research
2. Research areas in information technology, research ideas, topics, research problems
3. Research planning
a. The research problem: The heart of the thesis
b. The literature review (the review of related works)
c. Planning the research
d. Writing the thesis proposal
4. Communicating the results of the paper/thesis
a. Writing the thesis report
b. The style, the format, the readability of the report
c. Giving presentation on the results
Methodology
Lectures, discussions, reading/written assignments, proposal writing, oral presentation.
References
- Mostly the course depends on online resources.
- David Evans, Paul Gruba, and Justin Zobel. How to Write a Better Thesis. Third edition 2014. Springer 2014.
- Justin Zobel. Writing for Computer Science. Third edition 2014. Springer.
- Mikael Berndtsson, Jörgen Hansson, Björn Olsson and Björn Lundell. Thesis Projects A Guide for Students in Computer Science and Information Systems. Second edition 2008. Springer-Verlag London Limited.
- Christian W. Dawson. Projects in Computing and Information Systems A Student’s Guide. Second edition 2009. Addison Wisely.
- Martha Davis. Scientific papers and presentations, 2002, Academic Press, London.
Course requirements and grading
- Reading and written assignments 20%
- Proposal writing and presentation including selecting a thesis advisor and involving in the thesis works 50%
- Final Exam 30%
Course code: ICTS 6339
Course title: Special Topics (1): Big Data
Credit units: 3 units
Prerequisite: 1st semester courses
Course Instructor: Dr. Eng. Rebhi S. Baraka (rbaraka@iugaza.edu.ps)
Course description:
The course aims to introduce the key concepts and technical notions behind big data, covering fundamental topics such as Big Data characteristics, motivations and drivers for Big Data Adoption, Big Data infrastructure such as cloud computing, Big Data storage issues and techniques, Big Data processing techniques and Big Data analysis vs analytics. It also aims to provide students with hands-on and practical skills for working with Big Data tools and frameworks. Additionally, the course aims to expose the students to recent research topics/issues on Big Data and carry on research and presentation on these issues.
Objectives:
Introduce the student to fundamental concepts, technologies and tools of Big Data.
Provide the student with practical skills on tools and technologies related to Big Data collection, processing, analysis and summarization.
Familiarize the student with latest developments and advancements related to Big Data.
Provide the students with research knowledge to the state of the art and open research issues with Big Data particularly Big Data analysis as a means for addressing research questions.
Course outline
Big Data overview
Infrastructure for Big Data
Handling and processing Big Data
Big Data Analysis
Tools for Big Data Analytics
Research issues in Big Data
Methodology
Lectures, presentations, paper reviews, case studies, programming assignments, class discussions, reading assignments, research reporting and examinations.
Literature
The field of Big Data is moving fast and the literature becomes obsolete/old soon. We will depend on online resources a lot, but some fundamentals can still be found on the following books:
Ghislain Fourny. The Big Data Textbook. Independently published, 2025.
Kuan-Ching Li, Hai Jiang, Laurence T. Yang, and Alfredo Cuzzocrea. Big Data: Algorithms, Analytics, and Applications. Chapman & Hall/CRC Big Data Series, 2015.
Thomas Erl, Wajid Khattak, and Dr. Paul Buhler. Big Data Fundamentals: Concepts, Drivers & Techniques. The Prentice Hall Service Technology Series, 2016.
Mohammed Guller. Big Data Analytics with Spark A Practitioner’s Guide to Using Spark for Large Scale Data Analysis. Apress, 2015.
Grading
Midterm Exam 20%
Final Exam 40%
Research paper with implementation 40%
Credit units: 3 units
Prerequisite: 2nd year courses
Course description:
The course aims to provide the student with most important concepts and skills related to entrepreneurship and freelancing needed in the IT filed especially in the work place and IT business space.
In the entrepreneurship part, the course covers the most important concepts in entrepreneurship and gives the student the ability to write business plans and study the feasibility for entrepreneurship project. It includes topics such as introduction to entrepreneurship and the characteristics of successful leadership, discovering opportunities and generate ideas, study the feasibility of the project, writing business plans, financial evaluation of the project, access to finance, and marketing issues.
In the freelancing part, the course provides the student with the knowledge and skills needed for telework and freelancing skills in the IT sector. It presents the most important soft skill needed in the freelancing market and freelancing platforms including conversation skills, presentation skills, and teamwork skills. It covers also profile writing, motivation letter writing, and job and client interviews.
Course Outline:
Part I: Entrepreneurship
Fundamentals of Entrepreneurship (the definition, benefits, drawbacks, risks and potential).
Recognizing Opportunities and Generating Ideas
Feasibility Analysis
Developing Effective Business Model
Industry and Competitor Analysis
Writing a Business Plan
Building a Venture Team
Getting Financing or Funding
Marketing
Part II: Freelancing
What is Freelancing
Prepare for the Transition
Manage Your Money
Writing Proposal for Jobs
Creating Freelancer Profile
Methodology
Lectures, assignments, case studies, examinations.
Literature
B. R. Barringer and R. D. Ireland, Entrepreneurship: successfully launching new ventures. Pearson/Prentice Hall, 6th edition 2020.
E. Ries. The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Crown Publishing, 2011.
Philip Delves Broughton, How to Think Like an Entrepreneur. Pan Macmillan, 2016.
Jill L. Ferguson, Creating a Freelance Career. Routledge, 2018.
RTC, Freelance Newbie. RealToughCandy, 2019.
Web resources.
Grading
Assignments 40%
Midterm Exam 20%
Final Exam 40%
Credit units: 3 units
Prerequisite: Software Design (SDEV 2302) and Service-Oriented Software Engineering (SDEV 3406)
Course description:
A new approach to software development and usage. The course aims to introduce the up-to-date field of software concepts, techniques and tools related to cloud-based software. The software development methodologies and lifetime processes students have studied in their previous courses. It takes the student through the whole life cycle of building a cloud application, starting at problem formulation, requirements analysis, system design, down to Java coding and deploying.
Objectives:
Provide the student with practical skills on cloud-based software lifetime processes, starting from requirements elicitation to developing, testing, deploying software applications,
Enable the student to use methodologies and techniques for software development such as XaaS.
Reinforce methodical software development through a number of case studies from diverse application domains,
Familiarize the student with latest tools and technologies used for developing and deploying cloud services.
Course outline
Cloud overview
Cloud architectures and classification
Object-Oriented technology in the cloud
Software engineering for the cloud
Distributed architectures and software systems
Cloud-based environments and deployments
Cloud application development
Cloud security
Recent issues
Methodology
Lectures, case studies, application development assignments, class discussions, reading assignments, written assignments, research reporting, software development project, and examinations.
Literature
Cloud Computing for Programmers: Software Development in the Age of Cloud. D. Casal. 2014
Software Engineering Frameworks for the Cloud Computing Paradigm. Mahmood, Zaigham, Saeed, Saqib (Eds.). 2013
Cloud Computing and Software Services Theory and Techniques. Syed A. Ahson an Mohammad Ilyas. CRC press. 2011.
Implementing and Developing Cloud Computing Applications. David Sarna. CRC press. 2011.
Enterprise Cloud Computing Technology, Architecture, Application. Gautam Shroff. Cambridge University Press 2010.
Online resources.
Grading
Final Exam 40%
Midterm Exam 20%
Development assignments, written assignments, reading assignments and term paper 20%
Programming assignments 20%
More courses will be added soon.