ITGS122 : Introduction to Programming

Department

Department of Mobile Computing

Academic Program

Bachelor in Mobile Computing

Type

Compulsory

Credits

03

Prerequisite

ITGS113

Overview

An introduction to computing and program development in the C programming language. This includes a brief introduction to basic computer concepts, an understanding of the operating system sufficient for writing program. introduction to computer programming; Getting started in C programming: introduction to basic program syntax; Printing messages, data types and declarations, numeric and character data, expressions, printing results, and variables; Processing and interactive input: assignments, counting, and input and output of data; C's conditional statements; C's looping statements; Modularity using functions: user--defined functions, parameters and return values, standard library functions, scope, call--by--reference; More modularity using functions: scope, storage class, and call--by--reference; Arrays: single and two dimensional arrays, initializers, array parameters; Character strings: processing strings using loops, some character and string library functions; Structures: structure concepts, structures as parameters, arrays of structures; Additional or miscellaneous topics other material as time permits.

Intended learning outcomes

Knowledge &understand

  • The student's knowledge of the history of programming languages
  • Knowing the Variables, their types, and characteristics
  • Know the control and repetition sentences IF Statement, For Loop and While
  • Define and apply User Functions and the concept of Function Recursion
  • Knowledge and application of the concept of Pointers

mental skills

  • The student should compare between Variables and Constants
  • The student should distinguish between the use of types of variables and C reserved Keywords
  • The student should conclude the optimal use of Control sentences and repetition in writing programs
  • The student should distinguish the difference between the application of return by reference and return by value
  • The student should analyze the collection of data with different types using Struct

Practical & professional skills

  • Download and install the appropriate IDE software for the purpose of software development
  • RUN and DEBUG work to run programs and trace errors if any
  • Writing and running programs on a mobile phone in the absence of a laptop
  • Write and run programs using any text editor and Compiler

General and transferable skills

  • Ability to submit assignments and write reports
  • Ability to load and run programs in other operating systems such as Cygwin or Linux
  • The ability to download and install the latest versions from the Internet for IDE programs
  • Ability to run all programs written in the same programming language

Teaching and learning methods

  • From YouTube video Instructor’s lectures
  • PDF lectures are on the ClassHub learning platform
  • Application of programs in the laboratory

Methods of assessments

  • Midterm exam = 30
  • Lab Exam = 20
  • Final exam = 50

    Course contents

  • C Introduction
  • C Tokens
  • C Operators
  • C Flow Control- Conditionals
  • C Flow Control- Loops
  • C Functions
  • C Programming Arrays - 1D
  • C Programming Arrays - Multi-Dimensional
  • C Programming Pointers
  • C Programming Strings
  • C Programming Files
  • C Programming Struct
  • C Standard Library
  • C Programming Advanced

Principles of Games Developments (ITMC404)
Parallel and Distributed Computing (ITMC403)
Mobile Multimedia (ITMC402)
Mobile 3D Graphics (ITMC401)
Mobile Commerce (ITMC304)
Programming Paradigms (ITMC302)
ARM microprocessor (ITMC301)
Arabic language 1 (ITAR111)
General English1 (ITEL111)
Physics (ITPH111)
Intro to Information Technology (ITGS111)
Problem solving Technic (ITGS113)
Mathematics I (ITMM111)
Arabic language 2 (ITAR122)
Mathematics II (ITMM122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Introduction to Networking (ITGS215)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Computer Architucture & Organization (ITGS223)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Information Security (ITGS224)
Introduction to Internet Programming (ITGS226)
Introduction to Databases (ITGS228)
Mobile Applications Development (ITMC311)
Design and Analysis algorithms (ITGS301)
Operating System (ITGS302)
Principles of mobile communication networks (ITMC312)
IT Project Management (ITGS303)
Scientific Writing (ITGS304)
Cross-Platform Mobile App Development (Flutter) (ITMC323)
Heterogeneous and Mobile Databases (ITMC322)
Mobile Interaction Design (ITMC321)
Mobile Operating System (ITMC313)
Security in mobile computing (ITMC411)
Personal Area Networks (ITMC412)
Social Networking (ITMC413)
Networks Programming (ITMC414)
Fundamentals ubiquitous computing (ITMC421)
Cloud Computing (ITMC422)