COSC-1437 Programming Fundamentals II: Apple Swift II



Credit Spring 2024


Section(s)

Course Requirements

Grade Policy

The final course grade will be assigned based both on concepts and practical application. Assignments, including both apps and playgrounds, will be used to determine the grade. An overall grade will be assigned on the following grading scale, using the total points used from all activities:

Points

Grade

Greater than or equal to 90 points

A

Greater than or equal to 80 points and less than 90 points

B

Greater than or equal to 70 points and less than 80 points

C

Greater than or equal to 60 points and less than 70 points

D

Less than 60 points

F

Here are the activities used to determine final grade:

Activity

Points each

App – Event Count

5

App – Favorite Athletes

5

Lab – Swift Protocols Playground

5

App – I Spy

5

App – Meal Tracker

5

App – Favorite Books

5

App – Remember Your Emojis

5

App – Home Furniture Sharing

5

App – Employee Roster

5

Lab – Swift Closures Playground

5

Lab – Swift Extensions Playground

5

Lab – App Enter to Win a Contest

5

App – iTunes Search (Part 1)

5

App – iTunes Search (Part 2)

5

App – iTunes Search (Part 3)

5

App – Emoji dictionary

5

Lab – Swift Generics Playground

5

App – iTunes Search (Part 4)

5

App – Morse Code

5

App – iTunes Search (Part 5)

5

Total

100

COURSE REQUIREMENTS

Labs

  1. All the labs must be submitted to Blackboard by the Blackboard scheduled due date/time.
  2. No credit for late work or incomplete work or apps/playgrounds that contain syntax or logic errors preventing them from being run.
  3. To receive full credit, labs must follow the steps in the etext as specified.

Lab Apps

  1. You will complete several labs at the back of the unit/chapters in table above during the semester.
  2. Submit the project by compressing the app’s folder (right-click, choose Send to | Compressed (.zipped) folder), then upload that .zip file to Blackboard.
  3. To receive credit, projects must work exactly as specified.  Some projects build on the preceding unit/chapter’s lab.  Points are allocated on an all or nothing.  If your project works, you receive all allocated points; otherwise, none.

Attendance and Participation:  There is no online class presence for lecture.


Readings

APPROVED COURSE TEXTS/READINGS:

Calendar

Description automatically generated with low confidence

Develop in Swift: Data Collections, Xcode 13

Publisher: Apple

Free from Apple Books

Software

This course will be focus on IOS development tools with Swift using Xcode.  To complete this course, you will need:

  • A Mac running macOS Ventura 14.3.1
  • Xcode 14.3.1.   Download it from the Mac App Store, if you need it.
  • Project files for the course.  Gotten from ebook download, Introduction, p. 8.

Course Subjects

 

Tentative1 COURSE SCHEDULE – COSC 1437 16 Weeks

Week

Start date

Topics: Tuesday & Thursday meetings

Lab Assignment

1

1/14

Th: 1.1 Protocols

1.2 App Anatomy and Life Cycle

Lab – Swift Protocols Playground

App – Event Count

2

1/21

T: 1.3 Model View Controller

Th: 1.4 Scroll Views

App – Favorite Athletes

App – I Spy

3

1/28

T: 1.5 Table Views

App – Meal Tracker

4

2/4

T: 1.6 Intermediate Table Views

App – Favorite Books

5

2/11

T: 1.7 Saving Data

 

Th: 1.8 System View Controllers

App – Remember Your Emojis

App – Home Furniture Sharing

6

2/18

T: 1.9 Building Complex Input Screens

App – Employee Roster

7

2/25

T: 2.1 Closures

 

Th: 2.2 Extensions

 

Lab – Swift Closures Playground

Lab – Swift Extensions Playground

8

3/3

T: 2.3 Practical Animation

Lab – App Enter to Win a Contest

9

3/10

T: 2.4 Working with the Web: HTTP and URL Session

App – iTunes Search (Part 1)

S P R I N G   B R E A K

10

3/24

T: 2.5 Working with the Web: Decoding JSON

App – iTunes Search (Part 2)

11

3/31

T: 2.6 Working with the Web: Concurrency

App – iTunes Search (Part 3)

12

4/7

T: 3.1 Collection Views

App – Emoji dictionary

13

4/14

T: 3.2 Swift Generics

Lab – Swift Generics Playground

14

4/21

T: 3.3 Dynamic Data

App – iTunes Search (Part 4)

15

4/28

T: 3.4 Compositional Layout

App – Morse Code

16

5/5

T: 3.5 Advanced Compositional Layout

App – iTunes Search (Part 5)

1Tentative means that I have the prerogative to rearrange, accelerate or decelerate presentation order, as needed.

2 Homework descriptions, point values and due dates will be posted exclusively on Blackboard.

3 Only instructor approved make ups.  This not an excuse to retake Exam 1.


Student Learning Outcomes/Learning Objectives

COURSE DESCRIPTION & RATIONALE

  • Credit Hours: 3
    Classroom Contact Hours per week: 2 hrs 40 mins
    Laboratory Contact Hours per week: 50 mins

Course Description

This course focuses on the object-oriented programming paradigm, emphasizing the definition and use of classes along with fundamentals of object-oriented design. The course includes basic analysis of algorithms, searching and sorting techniques, and an introduction to software engineering processes. Students will apply techniques for testing and debugging software. Apple/Swift will be the platform used for software development.

Skills:  G

Prerequisites: COSC 1436 or Department Approval. Course Type: T.

Course Rationale:

This is designed to teach students to build apps using introductory and intermediate programming concepts with examples and applications using Apple/Swift language. The course builds and extends topics covered in the prerequisite course, COSC 1436 and prepare students for a programming-oriented academic path as well as for entry level programming employment. This course is included in the Field of Study Curriculum for Computer Science.

COPYRIGHT NOTICE

The materials in the Blackboard course site are only for the use of students enrolled in this course for purposes associated with this course and may not be retained or further disseminated.

The content in the Blackboard course site is derivative work from this class textbook publisher provided instructional resources and instructor's notes. This content is distributed under the fair use provisions of the U.S. Copyright Law or the TEACH Act and further copying and redistributing of this material is a violation of the copyright law.

COURSE OBJECTIVES / LEARNING OUTCOMES:

1. Demonstrate an understanding of the fundamentals of Swift, building modern mobile apps, iOS, Xcode, and other tools in the Xcode development environment. 

2. Create a basic iOS app to get familiar using Xcode.

3. Test and debug apps in a Mac, using the Simulator from Xcode.

4. Create visual interfaces using the Interface Builder from Xcode.

5. Demonstrate an understanding on how to build scroll views, table views, and complex input screens for apps.

6. Demonstrate an understanding on how to save date, share data to other apps, and work with images in the users photo library.

7. Demonstrate an understanding about animations, concurrency, and working with the web.

8. Demonstrate an understanding on how to design, prototype, and architect and app on your own.

9. Demonstrate good documentation style in all the programs written in this course.

SCANS (Secretarys Commission on Achieving Necessary Skills):

The following list summarizes the SCANS competencies addressed in this particular course:

RESOURCES

1.1 Manages Time

INTERPERSONAL

2.1 Participates as a member of a team

2.6 Works with Cultural Diversity

INFORMATION

3.1 Acquires and Evaluates Information

3.2 Organizes and Maintains Information

3.3 Uses Computers to Process Information

SYSTEMS

4.1 Understands Systems

4.2 Monitor and Corrects Performance

4.3 Improve and Designs Systems

TECHNOLOGY

5.1 Selects Technology

5.2 Applies Technology to Task

5.3 Maintains and Troubleshoots Technology

BASIC SKILLS

6.1 Reading

6.2 Writing

6.3 Arithmetic

6.4 Mathematics

6.5 Listening

THINKING SKILLS

7.2 Decision Making

7.3 Problem Solving

7.4 Mental Visualization

7.5 Knowing How to Learn

7.6 Reasoning

PERSONAL SKILLS

8.1 Responsibility

8.2 Self-Esteem

8.3 Sociability

8.4 Self-Management

8.5 Integrity/Honesty


Office Hours

T 9:45 PM - 10:00 PM ZOOM link 15 minutes AFTER class or after class

NOTE

M W 10:45 AM - 11:00 AM EGN ACC 1276, 15 mins. before senior's class

NOTE

T Th 11:00 AM - 11:15 AM EGN ACC, room 1276, the 15 mins.s before class

NOTE

Th 3:00 PM - 4:00 PM DIS/DLS

NOTE Use the LINK on Blackboard for ZOOM Office Hours. I can also be reached with a text to russell1collins@icloud.com to set up a time. Note that I am not available during days much except Thursday and Friday afternoon since I am in Elgin til 2pm and have an afternoon class from 2-4pm on Monday and Wednesday.

M W 3:55 PM - 4:25 PM ZOOM link 15 minutes AFTER class

NOTE send text to russell1collins@icloud.com.

T 5:30 PM - 6:00 PM ZOOM link 15 minutes before class or after class

NOTE

M T W Th 9:10 AM - 9:25 AM EGN ACC, Room 1276

NOTE This is the 15 minutes before each lecture.

Published: 01/16/2024 20:15:46