ITGS122 : Introduction to Programming

Department

Department of Computer Networks

Academic Program

Bachelor in Computer Networks

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

Multimedia over IP networks (ITNT405)
Cloud Computing (ITNT404)
Fundamentals ubiquitous computing (ITNT403)
Wireless Sensor Networks (ITNT402)
Personal Area Networks (ITNT401)
Security Policy and Procedures (ITNT304)
Human Computer Interaction (ITNT302)
Modeling and Performance Evaluation (ITNT301)
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)
Information Security (ITGS224)
Foundation of Information Systems (ITGS222)
Computer Architucture & Organization (ITGS223)
Introduction to Internet Programming (ITGS226)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Design and Analysis algorithms (ITGS301)
Data Communication (ITNT311)
Local Area Networks (ITNT312)
Networks Programming (ITNT313)
Cryptographic Algorithms and Protocols (ITNT314)
Wireless and Mobile Networks (ITNT324)
Operating System (ITGS302)
Digital Communication (ITNT323)
Network Protocols (ITNT322)
Wide Area Networks (ITNT321)
Scientific Writing (ITGS304)
IT Project Management (ITGS303)
Distributed Systems (ITNT411)
Network Design and Management (ITNT412)
Network QoS (ITNT421)
High speed Networks (ITNT422)
Graduation Project (ITNT500)