ITSE423 : Visual Programing

Department

Department of Software Engineering

Academic Program

Bachelor in Software Engineering

Type

Compulsory

Credits

03

Prerequisite

ITGS211

Overview

This course introduces visual programming, the design and implementation of programs that utilize a visual user-interface. Topics covered will include: use of Microsoft Visual Studio for designing the interface; the message/event driven programming model, , audio and visual programming concepts, and will provide the framework to explore artistic programming projects; logical structure of the program (e.g. separating interface from ―business logic‖); control containers (e.g. graphics, dialogs, forms); and controls (e.g. button, slider, edit box.) Programming will be done in Visual Studio, which the student should have installed and operational on the first day of class.

Intended learning outcomes

Knowledge &understand 

  • Explain basic concepts and definitions of visual programming.
  • To be familiar with the basic components of the program using the JavaFX language
  • Understand 2D and 3D shapes in JavaFX
  • Understand Layouts Pane
  • To be familiar with the JavaFX FXML application
  • To be familiar with UI Controls
  • To learn about the use of effects, graphics, and animation in the program
  • Learn how to deal with databases and link controls with data.

mental skills

  • To distinguish between events and methods
  • To choose the appropriate tools in the design of user interfaces
  • To distinguish between JavaFX application and JavaFX FXML application
  • To compare different types of effects, graphics, and anima

Practical & professional skills

  • To use the JavaFX language, the NetBeans development environment in developing visual programs.
  • Designing interactive user interfaces easily using the Scene Builder program
  • Using CSS technology to design attractive interfaces.
  • using MySQL Server to manage databases

General and transferable skills

  • To be able to use modern technological tools.
  • To be able to work in a team.
  • To be able to managing time.
  • To be able to deliver and present,

Teaching and learning methods

  • Lectures
  • Tutorials
  • HomeWorks
  • Labs

Methods of assessments

  • Midterm exam = 20
  • HomeWorks = 5
  • Lab exam = 15
  • Project = 20
  • Final exam = 40

Course contents

  • Introduction of JavaFX, The JavaFX Architecture 
  • First JavaFX Application Managing Stages , and scenes
  • Understanding 2D Shapes 
  • Understanding the Layouts Pane 
  • Styling Nodes : CSS in JavaFX 
  • Understanding Colors, Applying Effects 
  • Understanding FXML , The structure of an FXML document
  • Event Handling
  • Scene Builder - Building JavaFX Applications with the Scene Builder JavaFX Dialogs 
  • Controls (UI Control) About controls such as Label, Button, CheckBox, RadioButton,  Hyperlink, ChoiceBox, ComboBox, ListView, ColorPicker, DatePicker, TextField, TextArea, and Menu 
  • JavaFX with MySQL Connection to Database 
  • Understanding Charts - he Chart API is in JavaFX. different types of charts using the Chart API. style charts with CSS
  • Understanding 3D Shapes - Knowing 3D shapes and they represented 3D in JavaFX
  • Understanding Animations  
About classes in JavaFX that are used in performing animation in JavaFX   perform a timeline animation.

Networks Programming (ITSE405)
Mobile Applications Development (ITSE304)
Cryptographic Algorithms and Protocols (ITSE306)
Information Retrieval Systems (ITSE307)
Mobile Operating System (ITSE308)
Programming Paradigms (ITSE309)
Principles of Games Developments (ITSE401)
Multimedia Systems (ITSE404)
Cloud Computing (ITSE406)
Web Services (ITSE407)
Web Applications Development (ITSE408)
Modelling of Complex Systems (ITSE303)
Data Mining/Business Intelligence (ITSE302)
Social Networking (ITSE409)
Logic Programming (ITSE301)
Mathematics I (ITMM111)
Physics (ITPH111)
Problem solving Technic (ITGS113)
Intro to Information Technology (ITGS111)
General English1 (ITEL111)
Arabic language 1 (ITAR111)
Mathematics II (ITMM122)
Arabic language 2 (ITAR122)
General English2 (ITEL122)
Introduction to Programming (ITGS122)
System Analysis and Design (ITGS124)
logic Circuit Design (ITGS126)
Introduction to Networking (ITGS215)
Introduction to Statistics (ITST211)
Object Oriented Programmin (ITGS211)
Introduction to Software Engineering (ITGS213)
Discrete Structures (ITGS217)
Numerical analysis (ITGS219)
Introduction to Databases (ITGS228)
Data Structure (ITGS220)
Foundation of Information Systems (ITGS222)
Introduction to Internet Programming (ITGS226)
Computer Architucture & Organization (ITGS223)
Information Security (ITGS224)
Design and Analysis algorithms (ITGS301)
IT Project Management (ITGS303)
Software Requirements Analysis (ITSE311)
Advanced Databases (ITSE312)
Scientific Writing (ITGS304)
Modern Programming Language (ITSE322)
Software Construction (ITSE321)
Operating System (ITGS302)
Software Design and Architecture (ITSE411)
Advanced Internet Programming (ITSE412)
Human Computer Interaction (ITSE413)
Software Engineering Ethics (ITSE414)
Software Quality Assurance and Testing (ITSE421)
Software Reuse and Component-Based Software Engineering (CBSE) (ITSE422)
Visual Programing (ITSE423)
software design models (ITSE424)