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.Course Details| Total number of weeks | 15 |
|---|
| Total Credits | |
|---|
| Total Hours | 75 |
|---|
Typical hours per week breakdown| Lecture | 3 |
|---|
| Lab (lab, field, computer) | 2 |
|---|
Learning Outcomes
Upon successful completion of this course, the learner will be able to:
- Graphics programming
- Event-driven programming
- Applet and thread programming
- Object-oriented programming
- 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
- 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
- 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.htmlDetailed 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 WeekAssessment
| Title | Learning Outcomes | Value |
|---|
| Assignments | 1 to 7 | 30% |
| Two Exams | 1 to 7 | 40% |
| Term Project | 1 to 7 | 30% |
| Total | 100% |
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.