CSE 7345/5345 Advanced Application Programming

Fall 2019

Description

This course covers advanced programming techniques that span a range of programming languages and technologies. Topics include server-side web development (Node.js), client-side graphic programming (p5.js), programming for data visualization (chart.js, d3.js), design patterns, model-based development, and multithreading. Prerequisite: CSE 3345 or consent of instructor.

Information

Lecture: Tuesday && Thursday 5:00PM ~ 6:20PM

Location: Junkins Building 0205

Recommended TextBooks:

Online Resources:

Instructor: Zizhen Chen

Weekly Schedule of Topics (Keep Update)
TIME TOPIC
WEEK 1 Day 1 - CSE 7345/5345 Overview; History of Programming; Environment Discussion
Day 2 - Programming language classification
WEEK 2 Day 3 - Simple Graphic Coding
Day 4 - GUI vs. Graphic Coding
WEEK 3 Day 5 - Refine UI Design
Day 6 - Move to Web Development
WEEK 4 Day 7- Simple Graphic Coding on the Web
Day 8 - Introduction to Server-side Development
WEEK 5 Day 9 - Simple Visualization of Charts on Web
Day 10 - Simple Map Application on Web Part 1
WEEK 6 Day 11 - Simple Map Application on Web Part 2
Day 12 - Data Driven JS Library: d3.js
WEEK 7 Day 13 - Midterm Review
Day 14 - Midterm Exam
WEEK 8 Day 15 - Introduction to Statistical Language R
Day 16 - Statistical Computing and Graphics
WEEK 9 Day 17 - Simple Data Mining Problem
Day 18 - Introduction to Mathematical Language AMPL
WEEK 10 Day 19 - Simple Social Network Problem
Day 20 - Python vs. Others
WEEK 11 Day 21 - Design Patterns and Software Development Philosophies
Day 22 - Final Project Topics
WEEK 12 Day 23 - Final Project
Day 24 - Final Presentation

Requirements and Presentation

This course will include readings, programming assignments, exam, presentations and critiques. Plan a minimum of three hours of outside preparation for each hour of class. The due date for all assigned materials will be announced in advance. It is the student's responsibility to have all assignments ready on time. Any student who has to be absent on an assignment due date must arrange to have the assignment submitted early. In addition, it is the student's responsibility to make up any missed work or locate lecture notes due to absence.

Exams: Exams include a traditional paper-based midterm exam and a freestyle game developing final project. Midterm exam will be closed book, closed notes and any electronic devices are not allowed. The time of completing midterm exam is limited in two hours. Final project is a comprehensive project, each student can find at most one partner to complete together. We will also have a final presentation which is counted as partial credit of your final project.

Lectures will introduce multiple programming languages and platforms. Each semester will have different content to catch up the rapid growing technologies. This course is NOT designed as a traditional "sage on the stage" lecture. Class time will be used to discuss concepts and project issues, work collaboratively and to ask questions. Students need to come to class prepared to use this time effectively. Being unprepared is equivalent to an absence.

Evaluation

There will be programming assignments, mid-term exam and a final critique. Attendance and Proactive participation in class is also expected. Points will be awarded as described below.

Total: 100 points
Programming Assignments = 40 points
Midterm Exam = 20 points 
Final Project = 20 points
Final Project Presentation = 10 points
Attendance and Participation = 10 points
Final grades are determined as follows:

    * 95 - 100: A
    * 90 - 94: A-
    * 86 - 89: B+
    * 83 - 85: B
    * 80 - 82: B-
    * 76 - 79: C+
    * 73 - 75: C
    * 70 - 72: C-
    * 66 - 69: D+
    * 60 - 65: D
    * 0 - 60: F

Attendance Policy

Students are expected to attend all class lectures. If a student is absent from class on the due date of any assignment, they are expected to make alternative arrangements to assure that the assignment is turned in on time.

Academic Honesty and Misconduct - The Honor Code

All Code you create in this course MUST be your own, or clearly stated otherwise - NO EXCEPTIONS. All work undertaken and submitted in the course is governed by the University′s Honor Code. The relevant section of the Code, taken from the Preamble of the Honor Council&primes Constitution:

Integrity and academic honesty are fundamental to the processes of learning and of evaluating academic performance, and maintaining them is the responsibility of all members of an educational institution. High personal standards of honesty and integrity are a goal of education in all the disciplines of the University. Students must share the responsibility for creating and maintaining an atmosphere of honesty and integrity. Students should be aware that personal experience in completing assigned work is essential to learning. Permitting others to prepare their work, using published or unpublished summaries as a substitute for studying required materials, or giving or receiving unauthorized assistance in the preparation of work to be submitted are directly contrary to the honest process of learning. Students who are aware that others in a course are cheating or otherwise acting dishonestly have the responsibility to inform the professor and/or bring an accusation to the Honor Council.
A violation of the Honor Code may result in a F for the course, and the student may be taken before the Honor Council. If you are unclear about this policy, either in general or in its specific application, please see the instructor. The Honor Code is in the SMU Student handbook and may be viewed on-line at: SMU Honor Code

* Disability Accommodations: Students needing academic accommodations for a disability must first contact Disability Accommodations & Success Strategies (DASS) at 214-768-1470 or visit SMU DASS website to verify the disability and to establish eligibility for accommodations. They should then schedule an appointment with the professor to make appropriate arrangements. (See University Policy No. 2.4; an attachment describes the DASS procedures and relocated office.)

* Religious Observance: Religiously observant students wishing to be absent on holidays that require missing class should notify their professors in writing at the beginning of the semester, and should discuss with them, in advance, acceptable ways of making up any work missed because of the absence. (See University Policy No. 1.9.)

* Excused Absences for University Extracurricular Activities: Students participating in an officially sanctioned, scheduled University extracurricular activity should be given the opportunity to make up class assignments or other graded assignments missed as a result of their participation. It is the responsibility of the student to make arrangements with the instructor prior to any missed scheduled examination or other missed assignment for making up the work. (University Undergraduate Catalogue)

ABET ACCREDITATION

ABET Student Outcomes for Computer Science:

  1. An ability to apply knowledge of computing and mathematics appropriate to the discipline.
  2. An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution.
  3. An ability to analyze the local and global impact of computing on individuals, organizations, and society.
  4. An ability to use current techniques, skills, and tools necessary for computing practice.
  5. An ability to apply design and development principles in the construction of software systems of varying complexity.

ABET Student Outcomes for Computer Engineering:

  1. An ability to identify, formulate, and solve engineering problems.
  2. An ability to communicate effectively.
  3. The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context.
  4. An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.