Course Syllabus

Please note that the specifics of this Course Syllabus are subject to change. Instructors will notify students of any changes and students will be responsible for abiding by them. Even if you print this syllabus, please check the online version often.

Description

IST 261: Application Development Design Studio I (3 credits) - Introductory design and development studio course for IST and SRA students.

Course Philosophy

The philosophy underlying this course is that students should have opportunities to practice the concepts, techniques, and tools learned in previous IST design and development courses. In particular, IST 261 provides an opportunity for students to apply the application development knowledge you have gained from IST 140 and 242; IST 210 and 220; and other courses you have taken so far. You will propose a project as a ‘test bed’ for exploring the core concepts in the course including object-oriented programming; the model-view-controller pattern; and algorithms and data structures, among others.

Though the course includes regular lesson readings and assigned deliverables, your experience on the course will be highly determined by the thought and effort you put into it. Though this is true of any course in the University setting, the individualized nature of the studio course format means that the level of your engagement with the material is the number one determinant of what you will learn.

This course can been seen as part of the emerging “maker culture” where the thought and activities associated with building things, and discussing your making with others, is a central component of learning and of your overall engagement with the world. The philosophy of the course also draws from the ideas of Donald Schön, who claimed that a designer’s learning is critically enabled by the “reflective conversation with materials” that occurs in the act of making. In application development this conversation happens when you are in the process of translating an idea from thought to working software.

This is an active, hands-on course where the student is expected to develop their application development skills through practice, through problem-based learning, and through their interactions with both the instructor and other students on the course.

Course Flow

In the first week of the course make sure to review all of the material in the Unit 0 folder. It is critically important that you orient yourself to the overall flow of the course, the structure and content of the course within the LMS, and the schedule of assignments and deliverables.

In the first week of the course you will complete Unit 0 and Unit 1. Unit 1 involves writing your course project proposal and sets the scene for the rest of the course.

Units 2-8 cover a series of concepts and activities central to the application development process. Each includes a lesson reading and a deliverable that you create and submit.

It is very important that you keep track of the due dates for the various course deliverables. Make sure to review the Late Submissions policy in the course syllabus.

Module Topics

  1. Project Proposal
  2. Identify and Design Model Classes
  3. Writing Tests (manual/JUnit) for Model Classes
  4. Design and Implement a Class Hierarchy & Interface, demonstrating polymorphism (heterogeneous collection)
  5. Implement an MVC Use Case
  6. Implement an MVC List-Detail GUI, following MVC
  7. Persistent data (Serialization/JSON/SQLLite)
  8. Java Collection Framework Basics (e.g., set/tree/hashtable/queue/linked list)

Course Lessons

The course lessons are designed to focus on the most essential concepts, techniques, and tools related to the lesson topic. They provide detailed guidance on how to complete many of the deliverables required during the course.

See the Course Schedule for when specific lessons should be covered by you. They generally map to course deliverables.

Prerequisites

  • IST 242

Objectives

Upon completion of this course, students will be able to:

  • Write an application development project proposal describing the project domain
  • Identify and design model classes
  • Write unit tests manually and using the JUnit framework
  • Design and implement a class hierarchy and Java interface
  • Implement an MVC use case in Java
  • Implement the list-detail GUI design pattern using MVC
  • Implement persistent data using the Java Serialization framework
  • Implement two alternate Java collections such as set/tree/hashtable/queue/linked list and exercise their features

Instructor

  • TBD

Materials

No textbook, but see lesson documents and other technology requirements.

Course Tools

The course will make use of an Integrated Development Environment (IDE) to do the different programming assignments.

Specific instructions for specific tools will be posted to the Canvas Unit where related activities and deliverables appear.

Java Development

You will be using the Netbeans Integrated Development Environment for all project development work. Netbeans is free and is available for the Windows, Mac, and Linux operating systems.

The Netbeans web site is at: https://netbeans.org/features/index.html

Download the Netbeans IDE and Java SE from: http://www.oracle.com/technetwork/java/javase/downloads/jdk-7-netbeans-download-432126.html

Assignments & Grading

Assignments will be graded based on the following general criteria:

    • Correctness (e.g. programs compile & run; language constructs are used appropriately; diagrams (e.g. UML) make correct use of symbols)
    • Completeness (e.g. programs and written work address all aspects of the problem as described in the assignment specification.)
    • Clarity (e.g. programs are formatted professionally and include comments; written work and diagrams are free of typographical and grammatical errors, and are formatted neatly)
Course Grading Breakdown
Grading Category Percentage of Final Grade
Module 01: Project Proposal 5%
Module 02: Identify and Design Model Classes 5%
Module 03: Writing Tests For Model Classes 5%
Module 04: Design and Implement a Class Hierarchy & Interface 10%
Module 05: Implement an MVC Use Case 15%
Module 06: Implement an MVC List-Detail GUI 20%
Module 07: Persistent Data 20%
Module 08: Java Collection Framework Basics 20%
TOTAL 100%

Course Grading Scale

The following are minimum cutoffs for each grade:

  • 93.00% = A
  • 90.00% = A-
  • 87.00% = B+
  • 83.00% = B
  • 80.00% = B-
  • 77.00% = C+
  • 70.00% = C
  • 60.00% = D
  • less than 60.00% = F

Course Policies and Expectations

  • Late Policy
    • All deliverables must be completed and submitted before the due date and time.
    • Assignments submitted within 48 hours after the due date and time will be marked for 50% credit. This means you will receive your marked score divided by 2.
  • Logging into Canvas - Students are expected to login regularly to check for course updates, announcements, emails, discussions, etc.
    • Updates will occur regularly so please make sure to keep up with announcements and updates to the course site.
  • Emailing through Canvas - Students are expected to use Canvas for all course email communication.
  • Attending virtual meetings - Students are expected to use specified virtual meeting tool(s) for collaboration, meetings, presentations, etc., as needed.

Technical Requirements

Standard World Campus computer technical specifications are assumed for this course. Please test your computer for requirements. In addition, a webcam and a headset with a microphone are REQUIRED for the course. These may be used for virtual meetings, virtual office hours, interactions with classmates and your instructor, and team presentations - which are all conducted with virtual meeting tools. 

Additional required software clearly stated above.

Resources

Find extensive information and links to many Penn State and IST resources (including the Penn State libraries, video conferencing tools, technology and software, writing and research, and much more) on the Resources page.

University Policies

Review current information regarding Penn State policies (including academic integrity, copyrights, counseling and psychological services, disability accommodations, discrimination and harassment, emergencies, military accommodations, trade names, etc.) on the University Policies page.

Schedule

The following schedule outlines the topics covered in this course, along with the associated time frames, readings, activities, and assignments. All due dates reflect Eastern Time (ET). Specifying the time zone ensures that all students have the same deadlines, regardless of where they live.

Course Summary:

Date Details