The "Introduction to Computer Science" course at Independent University, Bangladesh has been designed to provide students with a comprehensive understanding of the basics of programming using Python. The course covers a wide range of topics, including fundamental programming concepts like variables, loops, conditional statements, and functions, as well as more advanced topics like data structures and file handling. The tutorial sessions are hands-on, allowing students to practice what they've learned and solve problems independently. The course has been designed to equip students with the skills necessary to write programs that solve real-world problems and to provide them with a solid foundation in the use of Python for problem-solving.
- Provide a comprehensive introduction to the basics of problem-solving using Python.
- Familiarize students with the broad range of applications of programming in solving real-world problems.
- Develop students' understanding of the fundamental building blocks of programming through hands-on programming exercises.
- Help students build confidence in applying programming concepts to solve real-world problems.
- Enhance students' critical thinking and problem-solving skills through practical exercises and projects.
- Foster an understanding of good programming practices, such as code readability, maintainability, and efficiency.
- Provide opportunities for students to practice and apply the skills and knowledge acquired through the course.
The course "Introduction to Computer Science" at Independent University, Bangladesh, provides students with a comprehensive introduction to programming using Python. The course consists of 11 weeks of tutorial sessions, each focusing on different aspects of programming and problem-solving. The course objectives are to introduce students to the basics of problem-solving using Python, understand the scope of programming in solving real-world problems, and to help students grow in confidence to solve real-world problems using programming concepts.
-
This session focuses on the basic building blocks of programming. Students will learn about console I/O, variables, data types, and operators. They will also learn how to use Google Colaboratory to write and run Python programs and solve problems using these concepts.
-
This session covers boolean and arithmetic operators. Students will learn how to use boolean operators to make decisions in their programs, as well as how to perform mathematical operations using arithmetic operators. They will solve problems to better understand these concepts.
-
This week, students will learn about conditional statements, including if, elif, and else. They will learn how to make decisions in their programs using conditional statements and understand how to trace alternative conditional paths in a given program. As always, they will solve a number of problems to solidify their understanding.
-
In this session, students will delve into more advanced conditional statements, including nested conditional statements and the ternary operator. They will learn how to use these statements to make decisions in their programs and solve problems to better understand the concepts.
-
This week, students will learn about loops, including different types of loops and how to use them to repeat a block of code in their programs. They will also learn when and where to use loops in their programs and solve problems to gain a deeper understanding.
-
In this session, students will dive deeper into loops, learning about nested loops and the break and continue statements. They will solve problems to better understand these concepts and how to use them in their programs.
-
Students will learn about lists and tuples, including different operations that can be performed on them and the methods that can be used. They will solve problems to better understand these concepts.
-
This week, students will learn about functions, including the advantages of using functions in their programs, arguments and return values, and how to solve problems using functions.
-
In this session, students will learn about more advanced concepts of functions, including combining lists, tuples, and functions to solve problems. They will gain a better understanding of how to use these concepts in their programs.
-
In this session, students will learn about dictionaries and sets, including different operations that can be performed and the methods that can be used. They will solve problems to better understand these concepts.
-
The final session will focus on files, including how to read and write files in programs, and the different modes of opening files. Students will solve problems to better understand these concepts and be ready to apply what they have learned to real-world problems.
The "Introduction to Computer Science" course is suitable for students with no prior programming experience, but a basic understanding of mathematics is essential for success in the course. The following mathematical concepts are necessary to fully comprehend the programming material covered:
- Basic arithmetic operations, such as addition, subtraction, multiplication, and division
- Algebraic principles, including the ability to solve equations and manipulate variables
- Geometry, including an understanding of points, lines, and shapes
- Trigonometry, including fundamental trigonometric functions and their applications
- Boolean Algebra, including a good understanding of Boolean operators (AND, OR, NOT, etc.), truth tables, and logic gates.
Having a solid foundation in these mathematical concepts, especially in Boolean Algebra, will greatly enhance students' ability to understand and apply the programming concepts covered in the course.
Evaluation for the course will be based on the following criteria:
-
Class Attendance (50%): Attendance is mandatory for all classes and students are expected to be present for every session.
-
Active Participation in Class (20%): Students are expected to actively participate in class discussions, ask questions, and engage in group activities.
-
Quizzes and Assignments (30%): Students will be tested on their understanding of the course material through various quizzes and assignments.
It is worth mentioning that the grade from this session will contribute 10% to the overall final grade of the course.
Note: Attendance is mandatory for all classes and students are expected to attend every session. If a student needs to miss a class, they must inform the instructor beforehand. If a student misses a class without prior notification, they will be marked absent for that session. Plagiarism is strictly prohibited. If found copying from others, no marks will be given for that specific assignment, class, or quiz.
In this course, we will utilize Google Colaboratory for writing and executing Python programs. Google Colaboratory is a cloud-based Jupyter notebook platform that is free and does not require any setup. It is an excellent resource for learning and teaching programming, as well as for data science and machine learning. You can find more information about Google Colaboratory here.
Here are some recommended books for further learning:
- Automate the Boring Stuff with Python, 2nd Edition by Al Sweigart
- Head First Python by Paul Barry
- Python tutorial by Bernd Klein
- Python tutorial by tutorialspoint
- Mir Sazzat Hossain, Research Assistant at the Center for Computational and Data Sciences (CCDS) at Independent University, Bangladesh (IUB)