college/Summer-2024/CS-3443/Slides/txt/34_Final Review.txt

274 lines
3.7 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Application
Programming
Hend Alkittawi
Final Exam Review
Youve Got This! ☺
IMPORTANT MIDTERM MATERIAL
Understand Java fundamentals
Classes and Objects
Variables and Methods [getters, setters, toString, equals,
object methods/variables, static methods/variables]
Class Relationships
Arrays, and ArrayLists
File I/O
UML diagrams
Code to diagram
Diagram to code
SOLID PRINCIPLES
Be familiar with the SOLID Principles
The Single Responsibility Principle (SRP)
The Open Closed Principle (OCP)
The Liskov Substitution Principle (LSP)
The Interface Segregation Principle (ISP)
The Dependency Inversion Principle (DIP)
Understand why it is important to consider these principles
Rigidity
Immobility
Fragility
Viscosity
MVC
Be familiar with the “design architecture” concept
Understand what the MVC design architecture is
Be able to create an Android project that follows the MVC
design architecture
model
data storage,
integrity, consistency,
queries & mutations
controller
view
receive, interpret &
validate input, create &
update views, query and
modify models
presentation assets &
code
user
ANDROID BASICS
Be able to design a simple multi-screen, data-driven Android
application and provide the UML diagram for it.
Be able to create a layout XML file with basic views (Buttons,
TextViews, ImageViews, …)
Be able to create an Activity class as a controller class in
an Android app (listen to the user interactions, and manage
the flow of app data)
Understand how to utilize Java and Android APIs to perform I/O
operations (AssetsManager, InputStream, OutputStream, … )
EXCEPTIONS
Understand the difference between Java Exceptions and Java
Errors
Understand the difference between checked and unchecked
exceptions
Be familiar with Java exceptions (NullPointerException,
IOException, … )
Understand the difference between throwing an exception and
handling it
Understand what the call stack is
EXCEPTIONS
GENERICS AND COLLECTIONS
Understand the advantages of using generics in Java programs.
Be able to create classes and methods that utilize generic
types.
Understand the difference between the List, Map, and Set Java
collections.
Be able to use Java collections as part of a Java program.
Be able to utilize the following interfaces in a Java
application: Iterator, Iterable, Comparable, Comparator
LAMBDA EXPRESSIONS
Understand what a functional interface is
Understand what a lambda expression is
Be able to trace code that uses lambda expressions
Be able to write code that uses lambda expressions
Be able to use Javas functional interfaces in a Java
application
THREADS
Understand the difference between a process and a thread.
Be able to trace code that involves threads in Java.
Be able to create threads in Java by extending the Thread class.
Be able to create threads in Java by implementing the Runnable
interface.
Understand the importance of thread synchronization in Java
applications.
Understand the difference between the main thread (UI thread) and
other threads in an Android application.
Understand the importance of utilizing threads in an Android
application (preventing ANR).
UNIT TESTING
Be familiar with unit testing and the JUnit framework.
Be able to create basic test cases
VERSION CONTROL
Understand Git/Github terminology and workflow (local/remote
repo, stage, commit, push, pull)
DO YOU HAVE ANY
QUESTIONS?
THANK
YOU!
@
hend.alkittawi@utsa.edu
By Appointment
Online