Mohammed Nafiz ALMadhoun

@mohelm97

Joined on Jan 21, 2021

  • Programming I Lab 8 Lab Titles[7] -> Arrays The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/11/19 In this lab, we are going to focus on arrays, and we will understand the concept of index more, then we will talk briefly about two-dimensional arrays. Lab Objectives Understand arrays. Be able to use arrays.
     Like  Bookmark
  • Programming II Lab 11 Animations in JavaFX The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/05/14 In this lab, we are going to talk about how to create animations in JavaFX, this will not only allow you to create simple animations but to do updates in certain intervals and more. Animation Class The animation class is an abstract class that defines common things for all animations, for example:
     Like 1 Bookmark
  • Welcome to my session Hardware hacking, in this session, we are going to explore some common tips and tricks in hardware hacking, and of course, we will try some hacks! Hacking D'Link DSL-225 First, let's begin with something simple! this router costs about 10NIS, which for a Linux machine is a great price deal! ![D'Link DSL-225](https://i.imgur.com/9f8SyPD.png =300x) DSL-225 Now let's turn on the router and play around with the control panel to see if something is interesting.
     Like 5 Bookmark
  • JavaFX Table View & Media Elements The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/05/08 In this lab, we are going to explore some components in JavaFX, we will first talk about media elements, and how we could play a video, or music in JavaFX, and then we will talk about Table Views, which will enable us to show tabular data. Media Elements The media elements in JavaFX are pretty straightforward, you will add the element, then you will set the path for the element to play and that's it! ![Media View Example](https://i.imgur.com/moaa9I4.png =400x)
     Like 1 Bookmark
  • Finite State Machines The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/05/06 In this lab, we are going to talk about Finite state machines, which are sequential systems, The FSMs are a generic approach for designing sequential systems, which will make your system easier to design, debug, and understand. Revision In this section, we are going to talk about the types of FSMs, and revise some of the concepts in the FSMs. Moore State Machine
     Like  Bookmark
  • Binary I/O The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/04/17 In this lab, we are going to talk about Binary I/O and how we can manipulate binary files, we should know that every file in your computer is a binary file, but the files that contain binary which represents a text will be considered as text files as they are very common. Viewing Files as Binary You can view any file as a binary file using a Hex Editor, which is a program that will display the binary data of a file, you could also see your whole hard drive or ram as a big binary chunk. You could use this online hex editor, or you could install a program such as HxD.
     Like  Bookmark
  • Loops & Variables The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/04/14 In this lab, we are going to talk about loops, how we could implement them, and what is the benefits of having loops in an HDL, then we will talk about variables, and understand how variables got synthesized into hardware. Loops Just like regular programming, loops will iterate over a sequential code for n times, we could create an infinite loop but it will not be synthesized. The loop could be performed on a discrete type, and will termite after n iterations, or the use of exit keyword.
     Like  Bookmark
  • Defining Types & Lab Tasks The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/03/18 In this lab, we are going to talk about how to define your types in VHDL, then we will solve some lab, these tasks should be solved during the Lab time. Defining Types In VHDL you could define your type, which could be a subset of a different type or a whole new type, this will be very useful in writing clean code and making things easier. Enumeration Types
     Like 1 Bookmark
  • Composite Literals & Introduction to Sequantial Logic The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/03/11 In this lab, we are going to learn how to create a latch, and flip-flop as an introduction to sequential logic in VHDL, but first we will learn about composite literals, and how to manipulate bit strings. Composite Literals A Composite Literals are an array of literals, but in this lab, we will focus on string literals, which we already used by using the std_logic_vector. Bit String Literals
     Like 1 Bookmark
  • Introduction to FXML The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/04/09 In this lab, we are going to use FXML to create a JavaFX application, FXML will help us a lot in separating the design and the application logic, and it will make it easier for us to design and change the design of our program. What is FXML FXML is a user interface markup language, the language itself doesn't have any logic, but it's just a description of the user interface. <?xml version="1.0" encoding="UTF-8"?>
     Like  Bookmark
  • Abstract Classes & Interfaces The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/03/27 In this lab, we are going to talk about abstract classes, then we will talk about interfaces, and how we could implement event listeners in JavaFX. Abstract Classes A lot of times when we are defining our classes, we noticed that a superclass is not created so we could create an object of it, we created that class so we can have a common type between other subclasses. As you might notice in our previous example, we've created Shape class, which is the superclass for Circle, Rectangle classes, and we've created the method getArea in the superclass Shape, but the information in Shape is not enough to calculate the area, so we defined it and let it return zero, this solution is not correct.
     Like  Bookmark
  • Introduction to JavaFX The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/03/19 In this lab, we are going to talk about JavaFX, and how to write GUI applications in Java using JavaFX, then we will talk about JavaFX containers, finally, we will talk about JavaFX components. Theoretical Introduction In this section, we will talk about the basic skeleton of a JavaFX application. Application
     Like  Bookmark
  • Exception Handling and Text I/O The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/03/13 In this lab, we are going to talk about exception handling, and how we could implement our exception that could be later be handled, then we will talk about text files operations. Exception Handling As you might know, an exception is a runtime error, by handling it, we could take an action if it occurs, this action could be a fixable problem, or you could at least inform the user of it. we could use a try-catch block to handle an exception, for example:
     Like  Bookmark
  • More about Inheritance The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/03/05 In this lab, we are going to inherit some classes that we didn't create, this should allow us to understand the concept of OOP and how it's very useful in creating many abstraction levels, we will use AWT & Swing libraries as an example. Note: We won't use AWT or Swing in the next labs, and we won't cover it in the course material. Introduction to Swing Swing is a GUI library for Java, so it will allow you to create GUI applications in Java, note that it's built on top of AWT (Abstract Window Toolkit), notice that later in this course, we will learn to use JavaFX which is a new GUI library for Java.
     Like 1 Bookmark
  • Numeric Package & Behavioral Style Combinational Design The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/02/26 In the previous labs, we used to write our VHDL code in a dataflow style, which is a direct implementation on the gates level. In this lab, we are going to write VHDL code using behavioural style, which means that we will write sequential statements in process in abstract level, which will be converted to logic gates. But first, we will talk about the numeric package.
     Like 1 Bookmark
  • Introduction to Inheritance The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/02/26 In this lab, we are going to explore the concepts of inheritance, and how you could create a new class from an existing class, which will allow you to modify a certain class, and to change some behaviour in classes without fully understanding or reimplementing them. Superclasses & Subclasses You should know that every class in Java extends the Object class, but what does this mean? It means that Object is our superclass, which our class (The subclass) will have all its functionality.
     Like 1 Bookmark
  • Using Components & Test Benches The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/02/26 In this lab, we are going to talk about how to use components, which allows you to create and use/reuse your old component and to organize your design into multiple components, then we will talk about test benches, which allows you to easily verify and test your VHDL code. Using components The first thing we will talk about is ssignals, which are wires, we will use these s to connect components together, and more! Signals
     Like  Bookmark
  • Basic Language Constructs of VHDL The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/02/19 In this lab, we are going to talk about the syntax of VHDL, and learn how to write a structural description for our hardware, then we will talk about test benches and how to write a VHDL code that tests our VHDL code. Skeleton of a VHDL Program We will start this section by writing a small VHDL example, this example will be a half-adder using a structural description. library ieee;
     Like 1 Bookmark
  • Introduction to Object-Oriented Programming The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/02/19 In this lab, we are going to solve tasks, and think as object-oriented programmers, please return to chapter 10 in your textbook if you have any questions. Lab Tasks Task 1: Complete your blog! In the previous lab, we've created a simple blog, you should complete this blog, you should add a class named Category, this class will hold the posts of this category, you could only list posts in a certain category, assume that each category stores its posts in a different folder.
     Like 1 Bookmark
  • Introduction to Object-Oriented Programming The Islamic University of GazaEngineering FacultyDepartment of Computer Engineering Author: Mohammed Nafiz ALMadhoun2021/02/12 In this lab, we are going to talk about Object-Oriented programming and the idea of this concept, and how it helps us in making our codes more readable and scalable, the concept itself doesn’t change the way the programmes get executed, but it helps the developers in building much greater applications, and it makes it easier to reuse old codes, all the concepts in this course will not teach you any new logic thinking, it will teach you how to organize your code more. Organizing the code is a very important step in writing it, after writing some codes if you didn’t organize it well, you won’t be able to modify or write more code in the same project, even if you see these concepts as extra steps you will do (and you can solve the problem in an old way easier), you should understand that without these concepts you won’t be able to write a medium-size program. What is a class
     Like  Bookmark