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
- All the labs must be submitted to Blackboard by the Blackboard scheduled due date/time.
- No credit for late work or incomplete work or apps/playgrounds that contain syntax or logic errors preventing them from being run.
- To receive full credit, labs must follow the steps in the etext as specified.
Lab Apps
- You will complete several labs at the back of the unit/chapters in table above during the semester.
- Submit the project by compressing the app’s folder (right-click, choose Send to | Compressed (.zipped) folder), then upload that .zip file to Blackboard.
- 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:
|
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 user’s 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 (Secretary’s 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
NOTEM W 10:45 AM - 11:00 AM EGN ACC 1276, 15 mins. before senior's class
NOTET Th 11:00 AM - 11:15 AM EGN ACC, room 1276, the 15 mins.s before class
NOTETh 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
NOTEM 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