CPSC 101 Introduction To Programming II

School of University Arts and Sciences

CPSC 101 Introduction to Computer Programming II course is a continuation of CPSC 100 with emphasis on more advanced programming techniques and design, development and test of large applications. Students will write programs which make use of library functions to display graphical user interfaces, manage collections of data, access files and databases, and interact with other programs.

Prerequisites: CPSC 100 with a minimum grade of 60%

Accessibility Services Notice

Students who would like an academic accommodation and who have a documented disability should contact Accessibility Services, if they have not already done so.

Transfer Agreements

Course to Course transfer – YesBlock Transfer – Yesbctransferguide.ca
Course Details
Total number of weeks15
Total Credits
Total Hours75
Typical hours per week breakdown
Lecture3
Lab (lab, field, computer)2

Learning Outcomes

Upon successful completion of this course, the learner will be able to:

  1. Graphics programming
  2. Event-driven programming
  3. Applet and thread programming
  4. Object-oriented programming
  5. A successful student will: Demonstrate the following skills in lab and/or test environments: Develop and debug Java applications with multiple classes. Reference Sun API documentation. Test code. Design effective user interface
  6. A successful student will discuss: Role of data structures and abstraction in computer programs Memory management by Java Virtual Machine Role of inheritance and polymorphism in design of object-oriented programs Use of threading in program design Role of event-driven programming in Windows programming
  7. A successful student will develop: Problem-solving skills

Teaching and Learning Approach

The course will include a mix of theory, discussion, demonstration, guided application, and independent study.

Learning Resources

Required: rd Practical Programming (3 edition) An Introduction to Computer Science Using Python 3.6 by Paul Gries, Jennifer Campbell, Jason Montojo ISBN: 978-1680502688 https://pragprog.com/book/gwpy3/practical-programming-third-edition Other: Problem Solving with Algorithms and Data Structures using Python http://interactivepython.org/courselib/static/pythonds/index.html

Detailed Course Content, Topics, and Sequence Covered

1. Intro, Python warm-up 2. Control flow and Functions 3. Built-in Types 4. Letter Grade 5. Intro to Testing 6. Object Oriented Programming Basics 7. Object Oriented Programming Continued 8. Reading Week: Node-based structures (self-study) 9. Stacks & Queues 10. Algorithm Design 11. Algorithm Complexity (Part 1) 12. Algorithm Complexity (Part 2) 13. Array Programming and DataFrames (Part 1): NumPy fundamentals 14. Array Programming and DataFrames (Part 2): Pandas 15. Lab: Final project presentation 16. Final Exam Week

Assessment

TitleLearning OutcomesValue
Assignments1 to 730%
Two Exams1 to 740%
Term Project1 to 730%
Total100%

Grading Table

Standard Academic and Career Programs Grading Table

Percentage Letter Grade GPA
90-100 A+ 4.33
85-89 A 4.00
80-84 A- 3.67
76-79 B+ 3.33
72-75 B 3.00
68-71 B- 2.67
64-67 C+ 2.33
60-63 C 2.00
55-59 C- 1.67
50-54 P 1.00
0-49 F 0.00
  DNW 0.00

See the Academic Calendar for General Information including how to withdraw from course(s) and other regulations.

Disclaimer

Information contained in this course outline is correct at the time of publication. Content of the course is revised on an ongoing basis to ensure relevance to changing educational, employment and market needs. The instructor will endeavor to provide notice of changes to students as soon as possible. The instructor reserves the right to add or delete material from courses.