COMPUTER SCIENCE


Course Credits: 3 Units

Prerequisites: None

CMSC 11 - Introduction to Computer Science

Course Description

This is a 3-unit course that will discuss about Computer Science using Python Programming Language, one of the emerging programming language nowadays. The student will engage in different logical problems that requires critical thinking. Also, the student will learn different programming techniques in Python and solve real- world problems and tasks with the use of the technology.

Course Learning Outcomes

After completion of the course, the student should be able to:

  1. Solve problems through algorithm development.
  2. Describe the basics of software development.
  3. Write, document, and debug programs for the implementation of algorithms.
  4. Implement algorithms in Python Programming Language.
  5. Implement basic computer logic and binary math.
Course Outline

UNIT 1. The way of the Program, variables, expressions, statements

  1. The Python Programming Language
  2. What is a program
  3. Running Python
  4. Arithmetic Operators
  5. Values and Types
  6. Assignment Statements
  7. Variables
  8. Expressions and statements
  9. Script Mode
  10. Operators and Operands
  11. Expressions
  12. Order of Operations: Rules of Precedence
  13. String Operations
  14. Comments

UNIT 2. Functions

  1. Definition of Functions
  2. Type Conversion Functions
  3. Math Functions
  4. Composition
  5. Adding New Functions
  6. Definitions and Uses
  7. Flow of Execution
  8. Parameters and Arguments
  9. Stack Diagrams

UNIT 3. Conditionals and Recursion

  1. Modulus Operator
  2. Boolean Expressions
  3. Logical Operators
  4. Conditional Execution
  5. Alternative Execution
  6. Chained Conditionals
  7. Nested Conditionals
  8. Recursion
  9. Infinite Recursion
  10. Keyboard Input

UNIT 4. Fruitful Functions

  1. Return Values
  2. Incremental Development
  3. Composition
  4. Boolean Functions

UNIT 5. Iteration/Repetition

  1. For Loop
  2. Ranges of Numbers
  3. Enumerate Function
  4. Nested Loops
  5. While Loop
  6. Infinite Loops
  7. User Input Loops
  8. Controlling Loops

UNIT 6. Strings

  1. Definition of Strings
  2. Length of a string
  3. String Traversal using Loop
  4. String slices
  5. Searching
  6. Looping and Counting
  7. String Methods
  8. The in operator
  9. String comparison
  10. Escape Characters

UNIT 7. Lists

  1. Definition of List
  2. Traversing a List
  3. List Operations
  4. List Slices
  5. List Methods
  6. Map, Filter, and Reduce
  7. Deleting Elements
  8. Lists and Strings
  9. Objects and Values
  10. Aliasing
  11. List Arguments
  12. Nested Lists
  13. Files as Lists

UNIT 8. Sets and Dictionaries

  1. Set Operations
  2. Set Storage
  3. Dictionary
  4. Updating and Membership of Dictionary
  5. Dictionary as a set of counters
  6. Looping and Dictionaries
  7. Reverse Lookup
  8. Dictionaries and Lists
  9. Global Variables
  10. Dictionary Methods

UNIT 9. Tuples

  1. Definition of Tuples
  2. Tuple Assignment
  3. Tuples as Return Values
  4. Variable-length Argument Tuples
  5. List and Tuples
  6. Dictionaries and Tuples
  7. Sequence of Sequences
  8. Data Structures

UNIT 10. Algorithms

  1. Definition of Algorithm
  2. Searching Algorithm
  3. Find, Remove, Find Algorithm
  4. Sort, Identify Minimums, Get Indices Algorithm
  5. Walk Through the List Algorithm
  6. Timing

UNIT 11. Searching and Sorting Algorithms

  1. Linear Search
  2. Linear Search Running Time
  3. Binary Search
  4. Binary Search Running Time
  5. Selection Sort
  6. Insertion Sort
  7. Merge Sort

UNIT 12. Modules

  1. Definition of Modules
  2. Importing Modules
  3. Defining User Modules

UNIT 13. Constructions

  1. Variable Parameter Lists
  2. Named Parameter
  3. Exceptions
  4. Testing
  5. Debugging
  6. Patterns

UNIT 14. Graphical User Interface

  1. The Tkinter Module
  2. Basic GUI Construction
  3. Models, Views, and Controllers
  4. More Widgets