Sci 3265 Computer Science II Outline 2024 Series
Sci 3265 Computer Science II Outline 2024 Series
Course Overview
This introductory course will guide you through the basics of Python programming. The
curriculum focuses on understanding the syntax, basic data structures, and fundamental
programming concepts like loops, functions, and file handling. By the end of the course, students
will be able to write Python programs to solve simple problems and automate tasks.
Course Duration
12 Weeks (2 hours/week for lectures, 2 hours/week for hands-on practice)
Prerequisites
No prior programming experience is required.
Learning Objectives
- Understand the basic syntax of Python.
- Use Python's built-in data types and structures (e.g., lists, strings, dictionaries).
- Write simple Python programs to perform tasks.
- Implement control structures such as loops and conditional statements.
- Work with functions and understand their importance.
- Learn basic file input/output operations.
Course Outline
Week 1: Introduction to Python Programming
➢ **What is Python?**: Introduction to Python and its applications.
➢ **Installation and Setup**: Installing Python (Anaconda or Python standalone) and
setting up an IDE (Jupyter Notebook, PyCharm, or VSCode).
➢ **First Python Program**: Writing your first "Hello, World!" program.
➢ **Basic Syntax**: Introduction to Python syntax, indentation, and comments.
➢ **Lab Exercise**: Write a simple program to print "Hello, World!" and practice running
it in different Python environments.
Week 2 & 3: Variables and Data Types
➢ **Variables**: What are variables? How to create and use them.
➢ **Data Types**: Integers, floats, strings, and booleans.
➢ **Type Conversion**: Converting between data types.
➢ **Basic Input and Output**: Using `input()` and `print()` functions.
➢ **Assignment**: Write a Python program that accepts user input and performs basic
operations like addition and string manipulation.
Week 4 & 5: Operators and Expressions
➢ **Arithmetic Operators**: Addition, subtraction, multiplication, division, etc.
➢ **Comparison Operators**: Greater than, less than, equal to, etc.
➢ **Logical Operators**: AND, OR, NOT.
➢ **Expressions**: Forming complex expressions using operators.
➢ **Lab Exercise**: Create a program to perform basic arithmetic operations based on user
input.
Week 6 &7: Control Flow (Conditional Statements)
➢ **if Statements**: Writing basic conditional statements.
➢ **elif and else**: Extending conditions using multiple branches.
➢ **Nested if Statements**: Writing more complex conditional logic.
➢ **Assignment**: Write a Python program that grades student scores based on specific
conditions (e.g., A, B, C, etc.).
Week 8 : Loops
➢ **For Loop**: Iterating over sequences (e.g., lists, strings).
➢ **While Loop**: Looping until a specific condition is met.
➢ **Break and Continue**: Controlling loop execution.
➢ **Lab Exercise**: Create a program that prints numbers from 1 to 100 using a loop, and
another that lists even/odd numbers.
Week 9: Python Data Structures (Part 1)
➢ **Lists**: Creating and modifying lists.
➢ **Tuples**: Immutable lists.
➢ **Dictionaries**: Key-value pairs.
➢ **Strings**: String manipulation and methods.
➢ **Assignment**: Write a program that takes user input, stores it in a list, and allows
users to view or modify the list.
Week 10: Functions
➢ **Defining Functions**: How to create a function.
➢ **Arguments and Return Values**: Passing data into and out of functions.
➢ **Variable Scope**: Understanding local and global variables.
➢ **Lab Exercise**: Create a function that takes two numbers as input and returns their
sum, difference, and product.
Week 11: File Handling and Final Project
➢ **Opening and Closing Files**: Reading from and writing to files.
➢ **File Operations**: `read()`, `write()`, and `append()` methods.
➢ **Basic Exception Handling**: Using `try` and `except` for handling errors.
➢ **Final Project**: Write a simple Python program that reads from a text file, processes
the data, and outputs the result (e.g., a simple log analyzer or a contact manager).
Evaluation Criteria
➢ **Assignments** (10%)
➢ **Final Project** (10%)
➢ **Class Participation and Lab Attendance** (10%)
➢ **Final Exam** (70%)
Course Texts and Instructional Materials:
➢ Deitel, H., Deitel, P., & Deitel, P. J. (2019). Python for Programmers. Prentice Hall.
➢ Deitel, P., & Deitel, H. (2020). Intro to Python for Computer Science and Data Science.
➢ Hill, C. (2020). Learning scientific programming with python. Cambridge University
Press.
Recommended Reference Materials
➢ Ashok Namdev Kamthane, Amit Ashok Kamthane, 2018, Programming and Problem
➢ Solving with Python , Mc-Graw Hill Education
➢ Downey, A. (2012). Think python. O’Reilly Media, Inc.
➢ Dusty Phillips, 2015, Python 3 - Object Oriented Programming, 2nd Edition, Packet
➢ Publishing Ltd.
➢ Lee, K. D. (2011). Python programming fundamentals. London, New York: Springer.
Journals
➢ Journal of python, ISSN:1522-9386
➢ Proceedings of the Python in Science, ISSN 2575-9752
➢ Journal of object-oriented programming, ISSN 0896-8438
Online recommended resources
➢ Tutorialspoint
➢ Javatpoint tutorials