The topics will be covered through in-class lectures, laboratory assignments, reading, and research.
1. Introduction to programming
1.1. Program design
1.2. Software development cycle
1.3. Algorithms
1.4. Pseudocode and flow chart
1.5. Compilers and interpreters
1.6. Integrated Development Environment
2. Variables, Input, and Output
2.1. Variables
2.2. Receiving input
2.3. Arithmetic operators
2.4. Formatting output
3. Decision Structures
3.1. if Statement
3.2. Relational operators
3.3. if-else statement
3.4. if-elif-else statement
3.5. logical operators
4. Repetition Structures
4.1. Repeating a Set Number of Times
4.2. Repeating Only When True
4.3. Nested loops
5. Functions
5.1. Defining and calling functions
5.2. Passing values to functions
5.3. Scope of variables
5.4. Using functions to create reusable code
6. Files and Exceptions
6.1. File access methods
6.2. Writing data to a file
6.3. Reading data from a file
6.4. Exceptions
7. Lists
7.1. Creating a list
7.2. Processing lists
7.3. Using math in lists
7.4. Ordering lists
7.5. Comparing lists
8. Strings
8.1. Creating strings
8.2. Printing strings
8.3. Formatting strings
9. Dictionaries and Sets
9.1. Creating dictionaries and sets
9.2. Processing Dictionaries and sets
9.3. Dictionary and set methods
10. Fundamental Algorithms
10.1. Sorting
10.2. Searching
10.3. Recursion
11. Classes and Object-Oriented Programming
11.1. Procedural and object oriented programming
11.2. Classes
11.3. Objects
12. GUI Programming
12.1. GUI
12.2. Event-driven programs
12.3. Creating GUI windows
12.4. GUI input and output
12.5. Widgets
Upon completion of this course, students will be able to:
• Explain the process of program design and software development
• Design a program to solve a well-defined problem
• Implement a program from a design
• Explain the differences among the various data types
• Explain how to accept input
• Format values for output
• Perform number and string manipulations
• Explain what decision structures are and how to add them to a program
• Explain what loops are and how to create loops in a program
• Evaluate conditions using the relational operators and combine conditions using logical operators
• Explain the purpose of functions and be able to write reusable code using functions
• Understand fundamental sorting and searching algorithms
• Understand recursion
• Use programs in a high-level language to read and write files
• Use object-oriented terminology correctly
• Create a class and use existing classes
• Design a graphical user interface (GUI) and develop event-driven programs
Evaluation will be carried out in accordance with Douglas College policies. The instructor will present a written course outline with specific evaluation criteria at the beginning of the semester. Evaluation will be based on the following criteria:
Assignments 10% - 20%
Quizzes 0% - 20%
Midterm examination 20% - 35%
Final examination 25% - 40%
Class participation 0% - 5%
Consult the Douglas College bookstore for the current textbook.
Pre-Calculus 11 (C or better) or Foundations of Math 11 (C or better) or MATU 0411 (C or better)
None
None