IST Teaching

Teaching In IST

  • Home
  • COVID Modes
    • Delivery Mode Planning
    • Communicating Before Spring
    • Getting to Know Students
    • Engaging Students
    • Assessment
    • COVID LionPATH Codes
    • Resources
    • Events and Recordings
    • FAQs
  • Resources
    • Teaching Methods
    • Course Design
    • Course Administration
    • Curriculum
    • Instructional Support
    • Teaching Community Seminars
    • Feedback From Students
    • Learning Assistants
  • Courses
    • Undergraduate Courses
      • Undergraduate CYBER Courses
        • CYBER 100
        • CYBER 199
        • CYBER 262
        • CYBER 294
        • CYBER 296
        • CYBER 297
        • CYBER 299
        • CYBER 342W
        • CYBER 362
        • CYBER 366
        • CYBER 399
        • CYBER 440
        • CYBER 494
        • CYBER 496
        • CYBER 497
        • CYBER 499
        • CYBER 99
      • Undergraduate DS Courses
        • DS 120
        • DS 197
        • DS 199
        • DS 200
        • DS 220
        • DS 294
        • DS 296
        • DS 297
        • DS 299
        • DS 300
        • DS 310
        • DS 320
        • DS 330
        • DS 340W
        • DS 396
        • DS 397
        • DS 399
        • DS 402
        • DS 410
        • DS 440
        • DS 442
        • DS 494
        • DS 496
        • DS 497
        • DS 97
        • DS 99
      • Undergraduate HCDD Courses
        • HCDD 113
        • HCDD 264
        • HCDD 340
        • HCDD 364W
        • HCDD 440
      • Undergraduate IST Courses
        • IST 110
        • IST 130
        • IST 140
        • IST 170N
        • IST 197
        • IST 199
        • IST 210
        • IST 220
        • IST 222H
        • IST 230
        • IST 234N
        • IST 235
        • IST 237
        • IST 240
        • IST 242
        • IST 250
        • IST 256
        • IST 261
        • IST 294
        • IST 295A
        • IST 295B
        • IST 296
        • IST 297
        • IST 298
        • IST 299
        • IST 301
        • IST 302
        • IST 310
        • IST 311
        • IST 331
        • IST 337
        • IST 341
        • IST 361
        • IST 389
        • IST 390
        • IST 397
        • IST 398
        • IST 399
        • IST 402
        • IST 411
        • IST 412
        • IST 413
        • IST 420
        • IST 421
        • IST 422
        • IST 423
        • IST 424
        • IST 425
        • IST 426
        • IST 431
        • IST 432
        • IST 437
        • IST 440W
        • IST 441
        • IST 442
        • IST 443
        • IST 444
        • IST 445
        • IST 446
        • IST 450A
        • IST 450B
        • IST 451
        • IST 452
        • IST 453
        • IST 454
        • IST 456
        • IST 461
        • IST 462
        • IST 489H
        • IST 494
        • IST 495
        • IST 496
        • IST 497
        • IST 498
        • IST 97
        • IST 99
      • Undergraduate SRA Courses
        • SRA 1
        • SRA 111
        • SRA 197
        • SRA 199
        • SRA 211
        • SRA 221
        • SRA 231
        • SRA 268
        • SRA 294
        • SRA 296
        • SRA 297
        • SRA 299
        • SRA 311
        • SRA 365
        • SRA 397
        • SRA 399
        • SRA 421
        • SRA 433
        • SRA 440W
        • SRA 450
        • SRA 468
        • SRA 471
        • SRA 472
        • SRA 480
        • SRA 494
        • SRA 496
        • SRA 497
        • SRA 99
    • Graduate Courses
      • EA Courses
        • EA 594
        • EA 871
        • EA 872
        • EA 873
        • EA 874
        • EA 876
      • Graduate IST Courses
        • IST 501
        • IST 503
        • IST 504
        • IST 505
        • IST 510
        • IST 511
        • IST 512
        • IST 520
        • IST 521
        • IST 525
        • IST 526
        • IST 530
        • IST 532
        • IST 541
        • IST 543
        • IST 554
        • IST 555
        • IST 557
        • IST 558
        • IST 561
        • IST 562
        • IST 564
        • IST 590
        • IST 594
        • IST 596
        • IST 597
        • IST 600
        • IST 601
        • IST 602
        • IST 610
        • IST 611
        • IST 815
        • IST 816
        • IST 820
        • IST 836
        • IST 841
        • IST 852
        • IST 868
        • IST 885
        • IST 888
    • Associate Courses
      • Associate IST Courses
        • IST 111
        • IST 225
        • IST 226
        • IST 227
        • IST 228
        • IST 255
        • IST 257
        • IST 260
    • Course Committees
    • Course Proposals
    • LionPath Course Catalog
  • Learning @ IST
  • Orientation
  • Contact Us

CORONAVIRUS UPDATES:

Keep up with information on Penn State's Keep Teaching site for faculty along with College resources for delivery of residential courses. In October-December the College will accept Spring 2021 applications for undergraduate Learning Assistants (LA), Master’s Instructional Assistants (IA), and doctoral Teaching Assistants (TA); and faculty are encouraged to recruit undergraduate students, in particular.

IST 242


Intermediate & Object-Oriented Application Development


Sample Syllabi
  • IST 242 World Campus
  • IST 242 SP17 Fonseca
Course Materials
  • Course Committees Page
  • Course Materials in Box
  • University Bulletin Course Description
Course Connections

Prerequisites

  • CMPSC 121 or IST 140 or IST 240

Follow-Ons

  • IST 261
  • IST 311
  • IST 331
  • IST 420

Course Composition and Objectives

  • Understand the basic rationale and approaches for object-oriented application development and how to apply this to the development of object-oriented applications.
    • How classes and objects can be used to represent real world problem spaces, including the abstractions of methods, attributes, encapsulation and information hiding and the separation of behavior and implementation
    • How to implement object-oriented abstractions, including the use of constructors and destructors, automated garbage collection, and choices among inheritance and hierarchies, when to override methods, using polymorphism, and the role of abstract classes and their methods
    • Working with other resources in object-oriented application development, including external Application Program Interfaces (APIs), namespaces and packages, and techniques for input and output using external files
  • Problem-solving in real world application contexts that require algorithms of an intermediate complexity
    • Understanding how to assess speed, complexity and scalability for an algorithm and the implications of these characteristics for different application contexts
    • Based on these characteristics, choosing among and implementing different algorithms
  • Problem-solving in real world application contexts that require a range of useful data structures
    • Understanding and evaluating the tradeoffs and implications of different data structures
    • Choosing and implementing standard useful data structures, including multi-dimensional arrays, stacks, lists, queues, linked structures and the more general Collection hierarchy
    • Using internal data structures to map and interact with external files
  • Problem-solving in real world application contexts that require event-driven applications
    • Motivating the role of event handing as an central application development technique
    • Understanding the importance of defensive approaches to event-driven application design and development, including exception handling
    • Implementing event-driven application development for systems supporting human-computer interaction
  • Understanding the role of debugging, testing and quality assurance in real world application development settings
    • Analyzing tradeoffs in quality assurance activities, including when and how to integrate testing within a development timeline, choosing between black box versus white box testing, and considering the specific requirements of user interactive systems
    • Using state-of-the-art tools and procedures for testing and debugging a real world application
  • Instructors Choice: Instructors may choose topics and learning objectives that meet the spirit of the course as defined here. Instructors may choose to devote more time to the learning objectives listed above or to add additional, complimentary objectives. Supplementary material and objectives should not overlap with the defined content of other courses in the curriculum.

Course Description

This is a second course in application development. It will focus on the intermediate knowledge needed to create applications that use high level programming languages, combining original code with existing code libraries and application programming interfaces (APIs). The perspective will be of application development that takes place within a human and organizational context; in this sense data structures will be construed as representations of organizational entities and information, and algorithms as a reflection of human and organizational processes and activity. Students will also learn about common application architectures and design patterns. This is a hands-on, practical course designed for IST design and development option undergraduate students and others as an elective.

Undergraduate CYBER Courses

  • CYBER 100
  • CYBER 199
  • CYBER 262
  • CYBER 294
  • CYBER 296
  • CYBER 297
  • CYBER 299
  • CYBER 342W
  • CYBER 362
  • CYBER 366
  • CYBER 399
  • CYBER 440
  • CYBER 494
  • CYBER 496
  • CYBER 497
  • CYBER 499
  • CYBER 99

Undergraduate DS Courses

  • DS 120
  • DS 197
  • DS 199
  • DS 200
  • DS 220
  • DS 294
  • DS 296
  • DS 297
  • DS 299
  • DS 300
  • DS 310
  • DS 320
  • DS 330
  • DS 340W
  • DS 396
  • DS 397
  • DS 399
  • DS 402
  • DS 410
  • DS 440
  • DS 442
  • DS 494
  • DS 496
  • DS 497
  • DS 97
  • DS 99

Undergraduate HCDD Courses

  • HCDD 113
  • HCDD 264
  • HCDD 340
  • HCDD 364W
  • HCDD 440

Undergraduate IST Courses

  • IST 110
  • IST 130
  • IST 140
  • IST 170N
  • IST 197
  • IST 199
  • IST 210
  • IST 220
  • IST 222H
  • IST 230
  • IST 234N
  • IST 235
  • IST 237
  • IST 240
  • IST 242
  • IST 250
  • IST 256
  • IST 261
  • IST 294
  • IST 295A
  • IST 295B
  • IST 296
  • IST 297
  • IST 298
  • IST 299
  • IST 301
  • IST 302
  • IST 310
  • IST 311
  • IST 331
  • IST 337
  • IST 341
  • IST 361
  • IST 389
  • IST 390
  • IST 397
  • IST 398
  • IST 399
  • IST 402
  • IST 411
  • IST 412
  • IST 413
  • IST 420
  • IST 421
  • IST 422
  • IST 423
  • IST 424
  • IST 425
  • IST 426
  • IST 431
  • IST 432
  • IST 437
  • IST 440W
  • IST 442
  • IST 443
  • IST 444
  • IST 445
  • IST 446
  • IST 450A
  • IST 450B
  • IST 451
  • IST 452
  • IST 453
  • IST 454
  • IST 456
  • IST 461
  • IST 462
  • IST 489H
  • IST 494
  • IST 495
  • IST 496
  • IST 497
  • IST 498
  • IST 97
  • IST 99

Undergraduate SRA Courses

  • SRA 1
  • SRA 111
  • SRA 197
  • SRA 199
  • SRA 211
  • SRA 221
  • SRA 231
  • SRA 268
  • SRA 294
  • SRA 296
  • SRA 297
  • SRA 299
  • SRA 311
  • SRA 365
  • SRA 397
  • SRA 399
  • SRA 421
  • SRA 433
  • SRA 440W
  • SRA 450
  • SRA 468
  • SRA 471
  • SRA 472
  • SRA 480
  • SRA 494
  • SRA 496
  • SRA 497
  • SRA 99

Office of Teaching, Learning, & Assessment


E101 Westgate Building
(814) 865-8947
Contact Us? learning@ist.psu.edu

  • Privacy
  • Non-Discrimination
  • Equal Opportunity
  • Accessibility
  • Legal

Copyright © 2021 · Education Pro Theme on Genesis Framework · WordPress · Log in