Course Syllabus

The table below gives the planned syllabus for the course. This syllabus will be changed as needed. When it becomes necessary to revise the schedule, this page will be updated to reflect the changes.

Material describing the course and its objectives and grading policies is available elsewhere.

Readings should be done before the "lecture" meeting on the given date. Optional readings are optional, and can be used for background or enrichment. References (like [Guha13]) are given in the bibliography below.

All course meetings are concerned with all of the course's essential learning outcomes.

Dates Topics Readings Optional Readings Homework Due
Jan. 7 Introduction, Welcome, Overview Handouts, Grading Policy    
Jan. 9 Running Python, Interpreters, Variables, Numeric Expressions [Guha13] 1.1 and 1.3 Running Python document; Python Getting Started Document; [Swaroop16] chapter on Installation; [Wentworth-etal12] chapter 1  
Jan. 11 Friday Problems on Python Numeric Expressions [Guha13] Chapter 1 [Swaroop16] chapter on Operators and Expressions (and previous chapters) HW0
Jan. 14 Python I/O, Sequencing, Programs, Strings [Guha13] Chapter 1 [Swaroop16] chapter on Operators and Expressions (and previous chapters)  
Jan. 16 Python I/O, Sequencing, Programs, Strings [Guha13] Chapter 1 [Swaroop16] chapter on Operators and Expressions (and previous chapters)  
Jan. 18 Friday Problems with Python I/O [Guha13] Chapter 1 [Swaroop16] chapter on Operators and Expressions (and previous chapters) HW1, p1, p2
Jan. 21 No class, Martin Luther King Jr. holiday      
Jan. 23 Python Boolean Expressions, Predicate Functions, Conditionals [Guha13] 2.1-2.2 [Swaroop16] chapters on Control Flow and Functions; [Wentworth-etal12] chapters 4-5 HW1, p3, p4; HW2, p1-p2
Jan. 25 Friday Problems on Booleans, Predicates, Conditionals [Guha13] Chapter 2 [Swaroop16], chapters on Control Flow and Functions; [Wentworth-etal12] chapters 4-5 HW2, p3
Jan. 28 Exam 1 [Guha13] Ch. 1, 2.1, 4.1-4.2 [Swaroop16] up to chapter on Functions; [Wentworth-etal12] Chapters 1-5  
Jan. 30 Program Specifications [Guha13] Chapter 2 [Swaroop16] Chapters on Control Flow and Functions; [Wentworth-etal12] Chapters 4-5  
Feb. 1 Friday Problems with Specifications, Conditionals [Guha13] Chapter 2 [Swaroop16], chapters on Control Flow and Functions; [Wentworth-etal12] chapters 4-5  
Feb. 4 Context-Free Grammars, Python Lists, and Recursion [Leavens17] [Guha13] 4.1-4.2; [Wentworth-etal12] chapter 11  
Feb. 6 Python Lists and Recursion [Leavens17] [Wentworth-etal12], chapters 11 (Lists) and 18 (Recursion)  
Feb. 8 Friday Problems on Lists and Recursion [Leavens17] [Wentworth-etal12] Chapters 11 and 18  
Feb. 11 Python Assignment, Loops [Guha13] Chapter 3 [Swaroop16], Chapters on Control Flow and Functions; [Wentworth-etal12] Chapters 4-5 HW3, p1, p2, p3
Feb. 13 Python Assignment, Loops [Guha13] Chapter 3 [Swaroop16], Chapters on Control Flow and Functions; [Wentworth-etal12] Chapters 4-5 HW3, p4, p5
Feb. 15 Friday Problems on Python Assignment, Loops [Guha13] Chapter 3 [Swaroop16], Chapters on Control Flow and Functions; [Wentworth-etal12] Chapters 4-5  
Feb. 18 C vs. Python: A Comparison [Guha13] Chapter 5    
Feb. 20 C: Installation, Variables, Printing Running C page [Guha13] Chapter 5; http://www.cprogramming.com/code_blocks/  
Feb. 22 Friday Problems with C Variables, Printing Running C page [Guha13] Chapter 5; http://www.cprogramming.com/code_blocks/ HW4, p1a-c, p3, p4
Feb. 25 Exam 2 [Leavens17]; [Guha13] Ch. 3, 13 [Swaroop16] Chapters on Control Flow and Functions; [Wentworth-etal12] Chapters 4-5, 11, 18  
Feb. 27 C Arrays, Assignment, and Loops [Guha13] 6.2, 7, 8, 11 [Allain11] Loops (3), Arrays (8)  
Feb. 29 Friday Problems with C Arrays, Assignments, and Loops [Guha13] 6.2, 7, 8, 11 [Allain11] Loops (3), Arrays (8)  
Mar. 4 C Booleans and Conditionals [Guha13] 3, 7.1-7.4, 13 [Allain11] Intro (1) and If statements (2)  
Mar. 6 C Booleans and Conditionals [Guha13] 3, 7.1-7.4, 13 [Allain11] Switch case in C (5)  
Mar. 8 C Arrays, Assignment, and Loops [Guha13] 6.2, 7, 8, 11 [Allain11] Loops (3), Arrays (8)  
Mar. 11 No class, Spring Break     HW5, p1
Mar. 13 No class, Spring Break      
Mar. 15 No class, Spring Break      
Mar. 18 C Pointers [Guha13] Chapter 14 [Allain11] Pointers (6) HW5, p2
Mar. 20 C Pointers [Guha13] Chapter 14 [Allain11] Pointers (6) HW5, p3, p4
Mar. 22 Friday Problems with C Pointers [Guha13] Chapter 14 [Allain11] Pointers (6) HW5, p5
Mar. 25 Exam 3 [Guha13] Chapters 3, 6-8, 11, 13-15 [Allain11] Chapters 1-9  
Mar. 27 C Modules [Guha13] Chapter 9 [Allain11] Functions and Program Organization (4)  
Mar. 29 Friday Problems with C Modules [Guha13] Chapter 9 [Allain11] Functions and Program Organization (4)  
Apr. 1 C Modules [Guha13] Chapter 9 [Allain11] Functions and Program Organization (4)  
Apr. 3 Top-Down Design [Wirth83]    
Apr. 5 Friday Problems with Top-Down Design [Wirth83]   HW6, p1
Apr. 8 C Structs [Guha13] Chapter 16 [Allain11] Structures (7) HW6, p2-5
Apr. 10 C Structs [Guha13] Chapter 16 [Allain11] Structures (7) HW6, p6 (extra credit)
Apr. 12 Friday Problems with C Structs [Guha13] Chapter 16 [Allain11] Structures (7) HW6, p7-8
Apr. 15 C Lists [Guha13] Chapter 17 [Allain11] Linked Lists (15) HW6, p9 (extra credit)
Apr. 17 C Lists [Guha13] Chapter 17 [Allain11] Linked Lists (15)  
Apr. 19 Friday Problems with C Lists [Guha13] Chapter 17 [Allain11] Linked Lists (15) HW7, p1 and extra credit problems 2-4
Apr. 22 Summary and Review of the course      
Apr. 26, 7:00am-9:50am Exam 4 (final exam)      

Return to top

Bibliography

[Allain11]
Alex Allain. C Tutorial, 2011. Online at http://www.cprogramming.com/tutorial/c-tutorial.html, accessed January 4, 2017.
[Guha13]
Arup Guha. Programming Knights: An Introduction to Computer Programming in Python and C, Pearson Learning Solutions, 2013. ISBN 978-0-558-85807-0.
[Leavens17]
Gary T. Leavens. Following the Grammar with Python, University of Central Florida, Dept. of Computer Science, CS-TR-17-01, February 2017. http://www.eecs.ucf.edu/~leavens/COP3223H/docs/follow-grammar-python.pdf
[Swaroop16]
C. H. Swaroop. A Byte of Python, version 4.0, January 2016. Online at https://python.swaroopch.com/, accessed January 4, 2017.
[Wentworth-etal12]
Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers. How to Think Like a Computer Scientist, version of October 2012. Online at: http://openbookproject.net/thinkcs/python/english3e/index.html, accessed January 3, 2017.
[Wirth83]
Niklaus Wirth. Program development by stepwise refinement. Communications of the ACM, Volume 26, number 1 (January 1983), pages 70-74. http://dx.doi.org/10.1145/357980.358010

Return to top

Course Content and Policies

The course's content and grading polices are described on separate web pages. See the links on the top left of this page.

Return to top

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

Last modified Monday, April 15, 2019.

This web page is for COP 3223H at the University of Central Florida. The details of this course are subject to change as experience dictates. You will be informed of any changes. Please direct any comments or questions to Gary T. Leavens at Leavens@ucf.edu. Some of the policies and web pages for this course are quoted or adapted from other courses I have taught.