About Course
Computer Programming has two main components.
- First we understand the basic language (syntax) of the computer to communicate with it about what to do and how to do it.
- After learning the language constructs, we need to use these to instruct computers to solve complex problems.
Majority of the text books on programming are following Knowledge-based learning approach which only focuses on teaching the syntax of programming. Even while developing the problem solving skills, a major concern of this approach remains on teaching the syntax of the language. Assignments are also designed on the same pattern.
These types of books put a strain on the students because students get overloaded with information that they will most probably never use or experience in real world problems. Since, there is very little focus on the problem solving skills; therefore, when the students are given some real world problem to solve, then it becomes very difficult for them to solve the problem. This lowers the confidence level of students as they are unable to solve a real world problem, thus the drop out ratio of the students in Computer Science is very high.
You can think of knowledge-based learning as we teach the working of all parts of a car (this is syntax of making a car) to someone and after that he/she is unable to make a complete car by joining these parts (problem solving skills).
Currently, the trend is being shifted towards Competency-based learning. In this approach, students are given a task of some real world problem at the start, and then this project is divided into smaller subtasks, and then only the related concepts of programming to solve those subtasks are taught to the students. So, along with getting the knowledge, students develop the skills to solve real world problems.
You can think of competency-based learning as we ask the students that they have to make a Car. Then this bigger task, is divided into smaller subtasks i.e., making the structure of the car, engine and brakes etc. Then the related knowledge is given to the students on how to accomplish the specific subtask. Thus, the students acquire the skills to accomplish all the subtasks and then these skills help in completing the main task.
That's exactly what our book does.
“Competency-based Approach: How to Develop Programming and Problem-Solving Skills with Python” is the bridge between theory and practice, programming syntax and problem solving skills. In the world where traditional programming textbooks drown students in a sea of theory and syntax, this book emerges as a breath of fresh air.
With two exciting project (Business Application) you'll embark on a journey of becoming successful programmer by attaining the programming skills step by step and developing the project in the iterative manner.
Each chapter begins by equipping you with the essential knowledge, followed by a “Logic Building” section that reinforces your acquired knowledge. Then, watch your skills come to life in the “Vision to Reality” section as you iteratively enhance the business application using your newfound knowledge. As you progress, in “Challenge Yourself” section you tackle complex, real-world challenges that solidify your skills further. This book does not aim to provide complete coverage of contents and topics of Python programming language and its constructs. Instead, the book advocates a change of mindset, which teaches and makes you conscious of what you are learning, why you are learning, and how to apply it to solve real-world problems.
List of Book Chapters:
- Motivation to Learn Programming and Computer Science: First Program
- Converting Input into Output With Expressions
- A Gentle Introduction to Reusability - Repetition and Conditions
- Code Reusability with your own as well as Functions of other developers .
- Decision Making with Complex Conditional Statements.
- Repetition and Loops to solve complex problems.
- Lists: Time to Handle Large Number of Records.
- Dictionaries: Efficient data storage with keys
- Data Frames: Structured data storage