BEEC4814 Introduction

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 46

BEEC 4814

COMPUTER INTERFACING
Introduction
Linkedin : https://www.linkedin.com/in/mafifkasno/

Experience
[May 2015–Now] Lecturer• FTKEE• Universiti Teknikal Malaysia Melaka (UTeM)
[Feb 2018–Jan 2020] Deputy Director• CREATE • Universiti Teknikal Malaysia Melaka (UTeM)
[Jan 2013–March 2015] Application Engineer• Keysight Technologies ATP
[July 2011–Dec 2012] Electronic Engineer• R&D TUDM Flight Simulator •Ikramatic Systems Sdn Bhd
[Jan 2008–Feb 2009] Research Officer• FKE• Universiti Teknologi Malaysia (UTM)
Education
Dongguk University, Seoul, South Korea
Master of Engineering Electronic
Universiti Teknologi Malaysia (UTM), Johor, Malaysia
Bachelor’s degree of Engineering Electrical – Electronic
Membership
• Professional Engineer (PE17213), Ir,
• Board of Engineers (BEM) 2016 – now
• Professional Technologist (PT18030126), Ts, Application Engineer, Keysight ATP
• Malaysia Board of Technologist (MBOT) 2018 – now
• Corporate Member (M49609),
• Institute of Engineers Malaysia (IEM) 2015 - now
Electronic Engineer, Ikramatic System
Learning Outcome :
 Computer Interfacing : components and structure of computer user interface
development framework
 Construct user interfaces using computer user interface development
framework (JAVA)
 Design and implement computer user interface to a actual hardware system

Program Outcome :
 PO2 : Ability to solve broadly-defined engineering problems systematically to
reach substantiated conclusions, using tools and techniques appropriate to
computer/industrial electronics/telecommunication engineering technology.
 PO3 : Ability to design solutions for broadly-defined engineering technology
problems, and to design systems, components or processes to meet specified
needs with appropriate consideration for public health and safety, as well as
cultural, societal, environmental and sustainability concerns.
 PO11 : Ability to demonstrate an understanding of the impact of engineering
practices, considering the need for sustainable development.
Learning Program Percentage
No Assessment Method
Outcome Outcome (%)
1 2 3 LAB ASSESSMENT 30
2 2 3 LAB TEST 10
3 3 11 PROJECT 10
4 3 11 PRESENTATION 5
5 1 2 QUIZ 5
6 1 2 MIDTERM TEST 10
7 1 2 FINAL EXAM 10
8 1 2 FINAL EXAM 10
9 1 2 FINAL EXAM 10
TOTAL 100
 Attendance.
 Involvement in class activities.
 Proper attire.
 Questions and answers.
 Quiz, Projects & Presentations
 Lab assessment & Lab test
 Mid Term Test & Final Exam
1. Prepare before come to the class. ( Video and Slides )
2. Answer the simple questions.
3. Simple Lecture in the Class.
4. Exercises.
5. Questions.
Latecomers
 max 15 min late. (11.15am).
 [ L ] for latecomers.
 Attendance throughout semester.
 [80% = 2 times absent]
 Warning Letter.
 Barred for final exam.
 [TH] for absentees.
 [TR] absent with reasons. ( MC, Letter )
1. Form Group : 5 Members. (Appoint a leader)
2. Name the group.
3. Title : A Java-based data acquisition system
4. Mark distribution.
• Phase Presentation( Every 3 weeks)
• Minutes of meetings. (at least 4 times)
• Reports. (Progress Report [Week 9]) & (Final Report [Week 15])
• Presentation. (Week 14)
5. Presentation ( Slide , Simulation, Results)
WEEKS EVENTS DESCRIPTIONS
7 TEST CHAPTER 1, 2, 3
10 LAB TEST ANDROID STUDIO
14 FINAL PRESENTATION
1. Register your group. ( Ulearn )
2. Like Facebook page (Microcontroller Application)
3. Answer the survey in Ulearn.
http://carlcheo.com/startcoding
https://blog.udacity.com/2015/05/pick-your-first-programming-language.html
https://data-flair.training/blogs/python-vs-java/

https://spectrum.ieee.org/computing/softwar
e/the-top-programming-languages-2019
Graphical User Interface (GUI)

Ex: Java, Matlab, Phyton

Ex: BLE, CMP, BMI

Arithmetic logic unit (ALU)


Sequential Logic (ex: Flip-Flop)
Memory Elements
Boolean Arithmetic

Basic Input Output System


(BIOS)
• Well a computer understands only
electronic signals where a , 5 volt current
represents a binary 1 and 0 volt current
represents a binary 0
• PC is continually bombarded with these
electronic pulses which it interprets 8 bits
of such signals are grouped together and
text , numerical , symbols are identified by
unique pattern of electric pulses.
EXAMPLES OF ASCII character encoding standard

is represented by 11111010

ADD represented by 10000011


Current day processors are
capable of understanding and
decoding 64 bits at a time
• Assembly Language is the most elementary form of software development
languages
• Your code to add two numbers in this language would like

• The way you feed this code to the processor would depend on the PC
• 1950's computers were huge and consumed great deal
of power
• convert your Assembly languages code into
corresponding machine code of 1 and zeros using
mapping sheets and punch the machine code into
PUNCH cards and feed to the computer
• With advancement in technology i/o devices were invented
• Directly type your program into the PC using a program called Assembler
convert it into corresponding machine code and feed to your processor

• That apart , you will also have to make calls to creating Operating
System provided functions to display output of code.

• A
• With advancement in software development languages
• This entire assembly code, could shrink into just one line printf 1+2 .
• A software called compiler is used to convert your high level language code (Ex. C) into
assembly code and the assembler converts it into corresponding machine code

• A
• Though present day compilers come bundled with assembler can
directly convert your higher language code into machine code.

• Now, suppose Windows operating system is running on this Intel


processor Combination of Operating System plus the processor is
called the platform

• The other popular platforms are AMD and Linux , Power PC and Mac
OS X
• Now, with change in processor , the assembly instructions will change For
example the add instruction in Intel may be called ADDITION for AMD , or Math
ADD for Power PC ,and obviously with change in Operating System , the level and
nature OS level calls will also change

• -
• As a developer I want my software program to work on all platforms available ,to maximize my revenues.
• So I would have to buy separate compilers which convert my print f command into the native machine code. But
compilers come expensive and there is a chance of capability issues.
• Enter Java language.

• The code to display addition of two numbers is System dot out dot print ln 1 + 2 saved as .java file. Using the
java compiler the code is converted into a intermediate code called the bytecode . The output is a .class file
• This code is not understood by any platform but only a virtual platform called the Java Virtual Machine
• This Virtual Machine resides in the RAM of your operating system
• When the Virtual Machine is fed with this bytecode it identifies the
platform it is working on and converts the bytecode into the native
machine code

• In fact while working on your PC or browsing a web whenever you


see either of these icons be assured the java virtual machine is
loaded in your ram
• But what makes java lucrative is that code once compiled can run not only on all PC platforms
but also mobiles or other electronic gadgets supporting java

• -
• Java can be used to develop Web applications.
• Java Applets
• Java Web Applications
• Java can also be used to develop applications for hand-
held devices such as Palm and cell phones
Java work slow while running at operating system.

• Dynamic Linking = Unlike C, linking is done at run-time , every


time the program is run in Java.

• Run-time Interpreter = The conversion of byte code into


native machine code is done at run-time in Java which
furthers slows down the speed.
• Java Is Simple
• Java Is Object-Oriented
• Java Is Distributed
• Java Is Interpreted
• Java Is Robust
• Java Is Secure
• Java Is Architecture-Neutral
• Java Is Portable
• Java's Performance
• Java Is Multithreaded
• Java Is Dynamic
Characteristics of Java
• Java Is Simple
Java is partially modeled on C++, but greatly
• Java Is Object-Oriented simplified and improved. Some people refer
• Java Is Distributed to Java as "C++--" because it is like C++ but
with more functionality and fewer negative
• Java Is Interpreted aspects.
• Java Is Robust
• Java Is Secure
• Java Is Architecture-Neutral
• Java Is Portable
• Java's Performance
• Java Is Multithreaded
• Java Is Dynamic
Characteristics of Java
• Java Is Simple
Java is inherently object-oriented.
• Java Is Object-Oriented Although many object-oriented languages
began strictly as procedural languages,
• Java Is Distributed
Java was designed from the start to be
• Java Is Interpreted object-oriented. Object-oriented
programming (OOP) is a popular
• Java Is Robust
programming approach that is replacing
• Java Is Secure traditional procedural programming
techniques.
• Java Is Architecture-Neutral
• Java Is Portable One of the central issues in software
development is how to reuse code.
• Java's Performance
Object-oriented programming provides
• Java Is Multithreaded great flexibility, modularity, clarity, and
reusability through encapsulation,
• Java Is Dynamic
inheritance, and polymorphism.
• Java Is Simple
Distributed computing involves several
• Java Is Object-Oriented
computers working together on a
• Java Is Distributed network. Java is designed to make
distributed computing easy. Since
• Java Is Interpreted
networking capability is inherently
• Java Is Robust integrated into Java, writing network
programs is like sending and receiving
• Java Is Secure
data to and from a file.
• Java Is Architecture-Neutral
• Java Is Portable
• Java's Performance
• Java Is Multithreaded
• Java Is Dynamic
• Java Is Simple
• Java Is Object-Oriented You need an interpreter to run Java
programs. The programs are compiled into
• Java Is Distributed the Java Virtual Machine code called
• Java Is Interpreted bytecode. The bytecode is machine-
independent and can run on any machine
• Java Is Robust that has a Java interpreter, which is part of
• Java Is Secure the Java Virtual Machine (JVM).
• Java Is Architecture-Neutral
• Java Is Portable
• Java's Performance
• Java Is Multithreaded
• Java Is Dynamic
• Java Is Simple
• Java Is Object-Oriented Java compilers can detect many problems
that would first show up at execution time
• Java Is Distributed in other languages.
• Java Is Interpreted
Java has eliminated certain types of error-
• Java Is Robust prone programming constructs found in
• Java Is Secure other languages.
• Java Is Architecture-Neutral Java has a runtime exception-handling
• Java Is Portable feature to provide programming support
for robustness.
• Java's Performance
• Java Is Multithreaded
• Java Is Dynamic
• Java Is Simple
• Java Is Object-Oriented
• Java Is Distributed
• Java Is Interpreted
Java implements several security
• Java Is Robust mechanisms to protect your system
• Java Is Secure against harm caused by stray programs.

• Java Is Architecture-Neutral
• Java Is Portable
• Java's Performance
• Java Is Multithreaded
• Java Is Dynamic
• Java Is Simple
• Java Is Object-Oriented
• Java Is Distributed
• Java Is Interpreted
• Java Is Robust
• Java Is Secure
• Java Is Architecture-Neutral Write once, run anywhere

• Java Is Portable With a Java Virtual Machine (JVM),


• Java's Performance you can write one program that will
run on any platform.
• Java Is Multithreaded
• Java Is Dynamic
• Java Is Simple
• Java Is Object-Oriented
• Java Is Distributed
• Java Is Interpreted
• Java Is Robust
• Java Is Secure
• Java Is Architecture-Neutral
• Java Is Portable Because Java is architecture neutral,
Java programs are portable. They can
• Java's Performance be run on any platform without being
• Java Is Multithreaded recompiled.

• Java Is Dynamic
• Java Is Simple
• Java Is Object-Oriented
• Java Is Distributed
• Java Is Interpreted
• Java Is Robust
• Java Is Secure
• Java Is Architecture-Neutral
• Java Is Portable Java’s performance Because Java is
architecture neutral, Java programs are
• Java's Performance portable. They can be run on any
• Java Is Multithreaded platform without being recompiled.

• Java Is Dynamic
• Java Is Simple
• Java Is Object-Oriented
• Java Is Distributed
• Java Is Interpreted
• Java Is Robust
• Java Is Secure
• Java Is Architecture-Neutral
• Java Is Portable
• Java's Performance Multithread programming is smoothly
• Java Is Multithreaded integrated in Java, whereas in other
languages you have to call procedures
• Java Is Dynamic specific to the operating system to enable
multithreading.
• Java Is Simple
• Java Is Object-Oriented
• Java Is Distributed
• Java Is Interpreted
• Java Is Robust
• Java Is Secure
• Java Is Architecture-Neutral
• Java Is Portable
Java was designed to adapt to an evolving
• Java's Performance environment. New code can be loaded on the
• Java Is Multithreaded fly without recompilation. There is no need for
developers to create, and for users to install,
• Java Is Dynamic major new software versions. New features can
be incorporated transparently as needed.

You might also like