CS 101: Introduction to Computer Science

CS 101: Introduction to Computer Science

**Fall 2025Youngstown State University**

Course Overview

Course Information:

  • Credits: 3 credit hours
  • Prerequisites: None
  • Meeting Time: TBD
  • Location: TBD
  • Instructor: Dr. Hailong Jiang

Course Description: A foundational course introducing students to the principles of computer science, programming fundamentals, and computational thinking. This course provides a comprehensive introduction to the field, covering essential concepts that form the basis for advanced study in computer science.

Course Schedule & Calendar

WeekTopicActivities
Week 1-2Introduction to Computer ScienceLecture 1: What is Computer Science?
Lecture 2: History and Evolution of Computing
Lab 1: Setting up your development environment
Week 3-4Computational ThinkingLecture 3: Problem-solving strategies
Lecture 4: Algorithms and efficiency
Lab 2: Basic problem-solving exercises
Week 5-6Programming FundamentalsLecture 5: Variables, data types, and expressions
Lecture 6: Control structures (if/else, loops)
Lab 3: First programming exercises
Week 7-8Functions and ModularityLecture 7: Function definition and calling
Lecture 8: Parameter passing and return values
Lab 4: Building modular programs
Week 9-10Data StructuresLecture 9: Arrays and lists
Lecture 10: Basic searching and sorting
Lab 5: Data structure manipulation
Week 11-12Object-Oriented ProgrammingLecture 11: Classes and objects
Lecture 12: Inheritance and polymorphism
Lab 6: OOP project
Week 13-14Advanced TopicsLecture 13: File I/O and exception handling
Lecture 14: Introduction to algorithms
Lab 7: Final project preparation
Week 15Review and Final ProjectLecture 15: Course review and Q&A
Final Project: Due at end of week

Lecture Slides & PPT Downloads

Module 1: Foundations

Module 2: Programming Basics

Module 3: Data and Objects

Course Syllabus

Download Full Syllabus (PDF)

Learning Objectives

By the end of this course, students will be able to:

  • Understand fundamental computer science concepts
  • Write basic programs in a high-level programming language
  • Apply computational thinking to problem-solving
  • Design and implement simple algorithms
  • Work with basic data structures
  • Understand object-oriented programming principles

Grading Policy

  • Assignments: 40%
  • Lab Exercises: 25%
  • Midterm Exam: 15%
  • Final Project: 15%
  • Participation: 5%

Assignments & Projects

Programming Assignments

Lab Exercises

Final Project

Reading Materials

Required Textbook

  • Title: “Introduction to Computer Science Using Python”
  • Author: Charles Dierbach
  • ISBN: 978-0470555156
  • Publisher: Wiley

Additional Resources

Online Tutorials

Software & Tools

Required Software

Development Environment Setup

Important Dates

DateEventDetails
Week 1Classes BeginCourse introduction and overview
Week 3Assignment 1 DueHello World program
Week 5Assignment 2 DueControl structures
Week 7Assignment 3 DueFunctions
Week 9Midterm ExamCovers weeks 1-8
Week 11Assignment 4 DueData structures
Week 13Assignment 5 DueOOP concepts
Week 15Final Project DueComprehensive project
Week 15Course EndsFinal presentations

FAQ & Resources

Common Questions

Q: Do I need prior programming experience? A: No, this course is designed for beginners with no prior programming experience.

Q: What programming language will we use? A: We’ll use Python, which is excellent for beginners and widely used in industry.

Q: How much time should I spend on assignments? A: Expect to spend 6-10 hours per week on this course, including lectures and assignments.

Q: Can I work with others on assignments? A: Collaboration is encouraged for learning, but all submitted work must be your own.

Getting Help

  • Office Hours: See main teaching page for schedule
  • Email: hjiang@ysu.edu
  • Discussion Forum: Available on course management system
  • Tutoring: Free tutoring available through the CS department

This course is designed to be your gateway into the exciting world of computer science. I’m here to help you succeed, so don’t hesitate to reach out with questions!