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.

Purpose

Modern software development requires both a thorough understanding of concepts and a competency in development of applications that deliver a broad variety of functionality over many different network architectures. 

Description

IST 411: Distributed-Object Computing (3 credits) - This course presents the fundamental concepts of distributed-object computing, including client/server computing which is an important platform for real-world computing systems. The course focuses on design, development, and deployment of distributed systems. Students will also consider issues of managing distributed systems and the relationships between organizational processes and information-system architectures. IST 411 is an elective course for the Baccalaureate degree program in Information Sciences and Technology. Students completing the Systems Development Option may take this course to fulfill option requirements.

Prerequisites

  • IST 311, completed with a grade of "C" or better

Objectives

Upon successful completion of IST 411, students will understand the core concepts and proficiently implement code related to the following areas:

  • Safe and efficient multi-threading (as this is necessary for developing robust networked applications).
  • The fundamentals of networking in Java. This includes the manner in which services are addressed on a network (IP Addresses and Ports), the key concepts for designing systems and implementing applications that are distributed across multiple computers on a network, and the Java mechanisms that provide this functionality.
  • Various network architectures including client-server, as well as the various types of middleware and protocols (such as HTTP) that support these architectures.
  • Model-View-Controller (MVC) architectural pattern (including its usage in simple Java applications as well as web frameworks), and the Representational State Transfer (REST) design pattern.
  • Creating web services and web applications using a variety of technologies including the latest Java web frameworks.

Instructor

All course-related email, including messages to your instructor(s) and fellow students should be sent within Canvas, using the Inbox. Every attempt will be made for the instructor (or a substitute) to respond to email questions within 24 hours.

Additional instructor information can be found by selecting People and then the Teacher name.

Materials

All materials for this course are freely available in online form via the University Libraries. Print versions are also available for purchase via Amazon and other online retailers if this is your preference, but I recommend accessing them for free via the links below:

Development software will be used throughout the course. See the Technical Requirements section of the syllabus for details. 

Group Work

This course emphasizes group work because real-world programming environments typically require the ability to code in teams. There are also pedagogical advantages to this approach, as students learn concepts most thoroughly by explaining them to others. Also, working in teams is often more fun!

Initial teams have been assigned randomly, but may be modified over the course of the semester. Each team member is expected to participate in team meetings and make a reasonably equitable contribution to each group assignment. Please alert me immediately if this is not occurring.

I realize that collaboration can be challenging in an online course, and I am here to help facilitate the process for you. We will discuss various collaborative options during our weekly sessions, and address any issues that occur.

Note: Each team member will almost always receive the same grade on group assignments. However, I reserve the right to adjust scores to reflect student contributions more fairly.

Your team assignments can be found in the Project Groups tab of the People menu in Canvas.

Assignments & Grading

The activities in this course will consist of Group Work, which you will complete with your assigned partners, Solo Work, which you will complete on your own, and quizzes. Some lessons will require a brief Weekly Log entry, in which you will have the opportunity to provide feedback to the instructor. These will be graded as Solo Work, and are a great opportunity for you to earn a few easy points!

Late Policy: Assignments submitted up to 48 hours late will receive a 25% grade deduction. No late assignments will be accepted after 48 hours without prior approval from the instructor. Late Weekly Logs are not accepted.

The following table shows the approximate weighting of each category of activity. Note that these values are estimates only and will vary somewhat due to addition, removal, or modification of activities at the discretion of the instructor. 

Activity

Valued at (% of the final grade)

Group Work

55%

 Solo Work

40%

 Quizzes

5%

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

Weekly Workflow and Video Lectures

Most lessons in this course will span a single week from Monday to Sunday, with assignments and quizzes due Sunday before midnight (Eastern time). Some lessons span two weeks, and due dates may vary -- so please be sure to check all dates in Canvas.

Video lectures will typically be delivered on Tuesdays at 3 PM (Eastern time). These will either be interactive sessions with me or video clips/screencasts that I record. Interactive sessions will be recorded for viewing/reviewing at your convenience. This schedule may change over the course of the semester to better accommodate student availability.

Additional interactive sessions, video walk-throughs, etc. will be provided as necessary.

Make sure that your notification settings alert you to Canvas Announcements because I will use this mechanism as the primary means to announce the details of both scheduled and ad hoc sessions.

Course Policies and Expectations

  • Late Policy: Assignments submitted up to 48 hours late will receive a 25% grade deduction. No late assignments will be accepted after 48 hours without prior approval from the instructor. Late Weekly Logs are not accepted.
  • Logging into Canvas - Students are expected to log in regularly to check for course updates, announcements, emails, discussions, etc.
  • 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.

Academic Integrity

Penn State and the College of Information Sciences and Technology are committed to maintaining Penn State's policy on Academic Integrity in this and all other courses. We take academic integrity matters seriously and expect you to become a partner to the University/College standards of academic excellence.

For more information, please review these policies and procedures:

While utilizing additional sources outside of this class is encouraged for gaining a better understanding of course concepts, seeking explicit answers for graded assignments from outside sources (e.g. Course Hero, Chegg, tutoring services like tutor.com, etc.) is considered CHEATING and will not be tolerated. Sanctions range from failure of the assignment or course to dismissal from the University. Additionally, sharing course content without permission is a violation of copyright and may result in university sanctions and/or legal ramifications. Contact your instructor with questions related to this topic. 

University Policies

Review current information regarding various Penn State policies (such as copyright, counseling, psychological services, disability and military accommodations, discrimination, harassment, emergencies, trade names, etc.) on the University Policies page.

Penn State takes great pride to foster a diverse and inclusive environment for students, faculty, and staff. Acts of intolerance, discrimination, or harassment due to age, ancestry, color, disability, gender, gender identity, national origin, race, religious belief, sexual orientation, or veteran status are not tolerated and can be reported through Educational Equity via the Report Bias webpage (http://equity.psu.edu/reportbias/).

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 help, and much more) on the Resources page.

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 group presentations - which are all conducted with virtual meeting tools. No special software is required.

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 Due