INFO 5100: Application Engineering and Development, Fall 2023
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.
2023-11-21