CS 3443 Syllabus - Fall 2018

Advanced application development in a current object-oriented language. Introduction to the software life cycle, best programming practices, and modern development tools. Prerequisites: CS 2121 and CS 2123 (Data Structures).

Class Web Page:  http://www.cs.utsa.edu/~cs3443

Lecture Time and Place:

Section 001: TR 6pm-7:15pm, NPB 1.238
Section 002: TR 4pm-5:15pm, NPB 1.202

Instructor:

Dr. Amanda Fernandez
Amanda dot Fernandez at utsa dot edu
Office Hours: TR 2:30pm-4pm, or by appointment. NPB 3.214

Graders:

Section 001: Chris Snyder ()
    Office hours: TBA, at the TA table in the CS Main Lab (NPB 2.118)
Section 002: Richard Tran (richard dot tran2 at utsa dot edu)
    Office hours: TR 1pm-2pm and 5pm-7pm, NPB 2.124 (TA Room)
Both graders are available for assistance with course concepts for students in all sections..
For specific concerns about lab grades, please contact the grader for your section.

Exams:

Midterm Exam:
Tuesday October 9th, 2018 (in class)

Final Exam:
Section 001: Tuesday December 11, 2018 6pm-8:30pm
Section 002: Monday December 10, 2018 3:15pm-5:45pm
All exams are held in the same classroom as the lecture.
No materials or electronics will be permitted at exams. Collaboration on exams is strictly prohibited and in violation of academic integrity policies.
There are no make-up exams available, unless coordinated with your instructor 1 week in advance of the midterm or 1 month in advance of the final. Students must attend the exams for the section in which they are enrolled. Contact the instructor in advance if other arrangements need to be made.

Textbook:

Java 9 for Programmers, by Paul Deitel and Harvey Deitel
We will not follow the book chapter-by-chapter, but rather use it as a reference. See the tentative schedule for a listing of chapters related to each topic.
Please note that the previous edition (Java SE8 for Programmers) has a different chapter ordering and fewer resources for JavaFX, a required topic of this course. Therefore this version is not recommended.

Prerequisite:

CS 2123/2121 Data Structures

Prerequisite For:

The course catalog lists CS 3443 as a prerequisite for several courses, including CS 3723 Programming Languages, CS 3733/3731 Operating Systems and CS 3773 Software Engineering.

Course Objectives:

Tentative Grading Policy:

Tentative Schedule:

Weeks     Topics
1-5 control, parameter passing, arrays, ArrayLists, Strings

classes, objects, variables, constructors, methods

encapulation, inheritance, abstract classes, interfaces, polymorphism
6-10 GUI, graphics, components and containers, event-driven programming

UML class diagrams, model-view-controller

begin team project, present project designs
11-15 collections, generics, exception handling, files

advanced topic such as threads or databases

finish team projects, present team projects

Blackboard:

The course will be using Blackboard (http://utsa.blackboard.com/) for grade reporting, program submissions and online quizzes.

Attendance:

The course will be using ClassQue for taking attendence. See UTSA ClassQue Student Setup to setup ClassQue on your classroom computer.
Students are required to log in at the start of every lecture for which they are in attendance.

If you will miss a lecture do not email your instructor unless you will be missing several due to a university-sanctioned excuse. Instead, check Blackboard for updates and follow up with a classmate for missed content.

Online Quizzes:

There will be 9 quizzes administered online through Blackboard.
Late quizzes will not be accepted. As all quizzes are posted in advance, no extensions will be provided.

Labs:

There will be several labs due throughout the semester. You must upload the deliverables for each lab in Blackboard by the due date to receive credit for the exercise.
Late labs will be subject to a 10% penalty per day late, unless prior arrangements have been made with your instructor.

Team Projects:

Each team will consist of 3-4 students. Each project will be an independent GUI application designed and developed by the team members, using Java, JavaFX, and the MVC design pattern. The teams will use source control (Git) for their code.

Common Syllabus Information

Common syllabus information and links can be found at http://provost.utsa.edu/syllabus.asp.

Scholastic Dishonesty:

The integrity of a university degree depends on the integrity of the work done for that degree by each student.  The University expects a student to maintain a high standard of individual honor in his/her scholastic work.

You must write your own code.  Because patterns of cheating do not always become apparent until after several labs have been completed, you should be aware all of your submissionss are available to your instructor on Blackboard.

Further information on UTSA's policies regarding academic dishonesty can be found in UTSA's Student Code of Conduct, Section 203.