Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

COURSE SYLLABUS

INFO 5100: Application Engineering and Development, Fall 2023

Classroom: ISEC 102

Course Aims

The primary objectives of this course are to practice social-technical software engineering techniques to solve real-world business problems. Students will be equipped with practical design and programming techniques for the purpose of building significant business applications quickly.  In a step-by-step manner, the instructor will take you through the process of systematically combining UX techniques, business processes,  and  complex  data  models  to  assemble  designs  that  are  user  friendly  and  meet  business requirements. You will learn how to employ systems thinking, the object-oriented paradigm, visual user interface design principles, the visual Programming technique, as well as productivity tools to put together complicated, powerful designs. We will practice simple and smart ways of making software programming enjoyable.

Course Outcomes

Students will learn how to build models that represent the full functionality of software applications. The modularity principle will be used to build powerful models that lend themselves to specifications for software implementation. In addition, the student will learn basic programming techniques to prepare them for INFO 5100 and other technical courses. Overall, the class will teach the students how to be a functional architect and take the lead in using software programming to drive innovative solutions to business problems, in healthcare, financial, as well as other social challenges.

An Interactive Setting

Besides the lectures, the class will have lab sessions, which will permit continuous interaction. The time will be divided into lecture, lab, help sessions; students will engage in hands-on design and application modeling under instructor supervision.  For the duration of the class, we will focus on a single business problem – you will focus on one problem for the entire semester and that you will start small and gradually expand the scope. Students will practice the art of how to breakdown business requirements into small manageable components, program the components, and assemble those components into useful designs.

Our Approach

Students will select a practical business problem and articulate its underlying user requirements.  They will engineer an information model capturing the important aspects of the business problem and define the business processes necessary to deliver the solution that will satisfy the stated business requirements as well as define the user tasks as screen designs. We will work on identifying and incorporating the information needed for the task (screen) at hand. The information model will be linked to user screens through input and output flows and data transformation.

Lecture     Topic/Activity                    Lab Work/Testing                  Homework                     Java Lecture with examples

Week 1

Introduction to the

course: Socio-technical engineering and

Ecosystem Design.

Functional vs Component structures

Installing Java SDK and Netbeans,

Preparing for lab 1

Extend lab with additional class attributes

Program structure, java virtual machine,

compilation steps

Week 2

Creating and displaying multiple objects

Implement Model

relationships in java as complete app

Extend the lab

with more

attributes

Java syntax, class files,

classes, objects, attributes and methods

Week 3

User Interaction Design

User flows as screen

navigation flows using the card layout in java, passing objects

between screens

Extend the lab    with additional   screens and user flows

Data types, integers,

strings, primitive types, variables vs values,

reference variables,

memory usage

Week 4

Modeling the supply-side

Finding bugs or

learning how to use the debugger

Write a program with bugs and

show how you

isolate the

problem. Prepare a report

Functions and methods,    parameter passing in java

Week 5

Designing the person

(subject and user) into the application

Implement the login  process using person and user account

directories

Show how to

save the hash of the password as  part of the user   account

Program control flow,

alternate routes and

executions paths, Boolean variables, conditional

statements, if statements

Week 6

Order Processing Design and model comparison

 

 

Simple arrays, indexing, While and For loops

Week 7

Digital Marketing,

customization and

targeting

 

 

Introduction to the java collection API

Week 8

Digital Eco-System

Models

Final Project

Announcement

Mid-term exam

 

 

Introduction to data

structures: stacks and

queues with applications

Week 9

Eco-System Design

Techniques part I

 

 

Memory management and garbage collection in java

Week 10

Eco-system Design part II

 

 

Advanced collections

Week 11

Final Project Status

Check

 

 

Unit testing best practices

Week 12

Case Studies

 

 

Introduction to Lambda functions

Week 12

Final Project Status

Check

 

 

 

Week 13

Advanced Topics

 

 

 

Week 14

Advanced Topics

 

 

 

Week  14 Week 15

Final Project Submission

 

 

 

Week 15

Final Project Presentation

 

 

 

Element of the Smart Programming

This course will review the essential elements of any programming language —such as arrays, control structures, class definitions, as well as visual forms and components. It showshow to develop and execute Java applications. Various assignments, which strengthen the understanding of how programming works will be studied.

Tools

The class will use visual programming tools like scratch and NetBeans for basis programming and form design.

Tentative Schedule of the Course

Grading

Coursework will be weighted as follows:

Name    Percentage

Assignment and Lab

25%

Weekly quizzes

25%

Final Project

40%

The remaining 10% of your grade is for in-class participation and class attendance. If you are late for class more than 3 times and/or missed 3 lectures classes you must drop the class. Otherwise, your

grade will an automatic “ F” . Your final grade in the class will be relative to other students’ performance.

Plagiarism Policy

When there is evidence that a student has committed plagiarism, copied the work of others, allowed others to copy their work, cheated on an exam, altered class material or scores, or has inappropriate possession  of  exams,  or  sensitive  material,  the  incident  will  be  investigated.  The  consequences  for academic dishonesty are severe and that will include a straight F in the course with the potential for dismissal.