UTSA CS 3443 Application Programming

UTSA CS 3443 Application Programming

Schedule | Syllabus | Team Project | Resources | Laboratories | Course Notes

Syllabus - Spring 2019

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: MWF 2pm-2:50pm, NPB 1.202
Section 002: MWF 11am-11:50am, NPB 1.202
Section 003: MWF 10am-10:50am, NPB 1.238


Dr. Amanda Fernandez
Amanda dot Fernandez at utsa dot edu
Office Hours: MWF 12pm-1pm, or by appointment. NPB 3.214


SectionNameOffice HoursLocationEmail
001Bushra ZahedMW 5pm-6pmTA Roomzahedbushra at gmail dot com
001Chris EbyMF 3pm-4pm, W 10am-11amCS Main Labchristopher dot eby2 at utsa dot edu
002Jon PerryMWF 5pm-7pmTA RoomDCJMP90 at gmail dot com
003Vishal PatelTR 1pm-3pmCS Main Labvishalkumar dot patel at utsa dot edu
All TAs and 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.
There are additionally tutors and TAs available in the CS Main Lab - please check their schedule here.
This is a free service offered by the Department of Computer Science.


Midterm Exam:
Wednesday March 6th and Friday March 8th
This exam will be given in two parts, during class time.

Final Exam:
Section 001: Monday May 13, 2019 12:30pm-3pm
Section 002: Thursday May 9, 2019 9:45am-12:15pm
Section 003: Wednesday May 8, 2019 7am-9:30am
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.


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.


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


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


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.


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, up to 6 days after the due date. Late labs may be accepted without penalty for documented extenuating circumstances, coordinated in advance with the instructor.

Team Projects:

Each team will consist of 4-5 students and all team members must be enrolled in the same section of this course. 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.


Need help this semester? Don't wait!
All graders (listed above) are available to answer questions for all students in all sections of this course. You can contact them via email or during their office hours.
Additionally, the CS Department has hired several tutors, many of whom can help with Java and other concepts related to this course. Refer to the tutor and teaching assistant schedules for the CS Main Lab (NPB 2.118).

In all cases, be patient, kind, and considerate to your graders, TAs, and tutors. They have been hired to assist you in this learning experience, not to do the work for you.

Email etiquette will be critical to receiving timely responses this semester. When emailing your instructor, grader, or TA, always:

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.