EnggTree.com

Your Success is our Mission

  • Lecture Notes

GE3151 Problem Solving and Python Programming Lecture Notes 2021 Regulation

  • 2021 Regulation

Share with Your Friends:

  • Click to share on Facebook (Opens in new window)
  • Click to share on WhatsApp (Opens in new window)
  • Click to share on Telegram (Opens in new window)
  • Click to share on X (Opens in new window)
  • Click to email a link to a friend (Opens in new window)
  • Click to share on LinkedIn (Opens in new window)

GE3151 PSPP Notes :

We are providing the GE3151 Problem Solving and Python Programming Lecture Notes, and Hand Written Notes Collections PDF below for your examination success. use our Materials to score good marks in the examination. Best of Luck.

GE3151 Problem Solving and Python Programming Lecture Notes Download Links :

Ge3151 problem solving and python programming other useful links :, search terms :.

ge3151 problem solving and python programming lecture notes,

ge3151 problem solving and python programming lecture notes pdf,

ge3151 problem solving and python programming lecture notes pdf download

ge3151 pspp lecture notes,

ge3151 pspp notes,

ge3151 pspp notes pdf

ge3151 problem solving and python programming handwritten notes,

ge3151 problem solving and python programming handwritten notes pdf,

ge3151 problem solving and python programming notes pdf,

ge3151 problem solving and python programming notes,

ge3151 problem solving and python programming notes pdf

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Save my name, email, and website in this browser for the next time I comment.

Related Stories

Ccs345 ethics and ai lecture notes 2021 regulation, ccs333 augmented reality virtual reality lecture notes 2021 regulation, ec3451 linear integrated circuits lecture notes 2021 regulation.

  • R2021 SYLLABUS
  • R2017 SYLLABUS
  • R2013 SYLLABUS
  • R2021, R2017, R2013 UG / PG SYLLABUS
  • Civil 1st Sem R2021
  • Civil 2nd Sem R2021
  • Civil 3rd Sem R2021
  • Civil 4th Sem R2021
  • CIVIL 1st SEM R2017
  • CIVIL 2nd SEM R2017
  • CIVIL 3rd SEM R2017
  • CIVIL 4TH SEM R2017
  • CIVIL 5TH SEM R2017
  • CIVIL 6TH SEM R2017
  • THIRD SEMESTER
  • FOURTH SEMESTER
  • FIFTH SEMESTER
  • SIXTH SEMESTER
  • SEVENTH SEMESTER
  • EIGHTH SEMESTER
  • ARCHITECTURE BOOKS
  • BUILDING MATERIALS BOOKS
  • BUILDING DESIGN BOOKS
  • FLUID MECHANICS BOOKS
  • MECHANICS OF MATERIALS BOOKS
  • SURVEYING BOOKS
  • STRUCTURAL ANALYSIS BOOKS
  • SOIL MECHANICS BOOKS
  • CONCRETE TECH BOOKS
  • HIGHWAY ENGINEERING BOOKS
  • CONSTRUCTION TECHNOLOGY BOOKS
  • FOUNDATION ENGINEERING BOOKS
  • GEOGRAPHIC ENGINEERING BOOKS
  • TUNNEL CONSTRUCTION BOOKS
  • CIVIL GATE NOTES COLLECTION
  • CIVIL IS-CODE BOOKS
  • CIVIL PROJECT COLLECTION
  • MOCK TEST FOR PRACTICE
  • CSE 1st Sem R2021
  • CSE 2nd Sem R2021
  • CSE 3rd Sem R2021
  • CSE 4th Sem R2021
  • CSE 1st SEM R2017
  • CSE 2nd SEM R2017
  • CSE 3rd SEM R2017
  • CSE 4th SEM R2017
  • CSE 5th SEM R2017
  • CSE 6th SEM R2017
  • ALGORITHM BOOKS
  • ANDROID BOOKS
  • COMPILER DESIGN BOOKS
  • COMPUTER ORGANISATION & ARCHITECTURE BOOKS
  • PROGRAMMING BOOKS
  • NETWORKS BOOKS
  • DATA BASE BOOKS
  • DIGITAL SIGNAL PROCESSING BOOKS
  • HACKING BOOKS
  • OPERATING SYSTEM BOOKS
  • SOFTWARE ENGINEERING BOOKS
  • NETWORK SECURITY BOOKS
  • THEORY OF COMPUTATION & COMMUNICATION BOOKS
  • COMPUTER CODE BOOKS
  • CSE GATE NOTES COLLECTION
  • CSE PROJECT COLLECTION
  • EEE 1st Sem R2021
  • EEE 2nd Sem R2021
  • EEE 3rd Sem R2021
  • EEE 4th Sem R2021
  • EEE 1st SEM R2017
  • EEE 2nd SEM R2017
  • EEE 3rd SEM R2017
  • EEE 4th SEM R2017
  • EEE 5th SEM R2017
  • EEE 6th SEM R2017
  • EEE EIGHTH SEMESTER
  • ELECTRICAL WIRING BOOKS
  • ELECTRICAL MEASUREMENT BOOKS
  • ELECTRICAL DRIVE BOOKS
  • HIGH VOLTAGE ENGINEERING BOOKS
  • POWER SUPPLY ENGINEERING BOOKS
  • POWER PLANT ENGINEERING BOOKS
  • RENEWABLE ENERGY BOOKS
  • ENERGY ENGINEERING BOOKS
  • TRANSFORMER BOOKS
  • WIND ENERGY BOOKS
  • EEE GATE NOTES COLLECTION
  • EEE PROJECT COLLECTION
  • ECE 1st Sem R2021
  • ECE 2nd Sem R2021
  • ECE 3rd Sem R2021
  • ECE 4th Sem R2021
  • ECE 1st SEM R2017
  • ECE 2nd SEM R2017
  • ECE 3rd SEM R2017
  • ECE 4th SEM R2017
  • ECE 5th SEM R2017
  • ECE 6th SEM R2017
  • AMPLIFIER BOOKS
  • POWER ELECTRONICS BOOKS
  • ELECTRONIC DEVICE BOOKS
  • OPTO ELECTRONICS BOOKS
  • MICRO CONTROLLER BOOKS
  • IMAGE PROCESSING BOOKS
  • WIRELESS TRANSMISSION BOOKS
  • MICROWAVE BOOKS COLLECTION
  • RADIO FREQUENCY BOOKS
  • MECHATRONICS BOOKS
  • ECE GATE NOTES COLLECTION
  • ECE PROJECT COLLECTION
  • Mech 1st Sem R2021
  • Mech 2nd Sem R2021
  • MECH 3rd Sem R2021
  • MECH 4th Sem R2021
  • MECH 1st SEM R2017
  • MECH 2nd SEM R2017
  • MECH 3rd SEM R2017
  • MECH 4th SEM R2017
  • MECH 5th SEM R2017
  • MECH 6th SEM R2017
  • CAD/CAM/CIM BOOKS
  • MACHINE DESIGN BOOKS
  • MANUFACTURING TECHNOLOGY BOOKS
  • PRODUCTION TECHNOLOGY BOOKS
  • VIBRATION BOOKS
  • STRENGTH OF MATERIALS BOOKS
  • MECHANICAL DESIGN BOOKS
  • THERMODYNAMICS BOOKS
  • HEAT AND MASS TRANSFER BOOKS
  • REFRIGERATION & A.C. BOOKS
  • MECHANICAL DRAWING BOOKS
  • WELDING TECHNOLOGY BOOKS
  • IC ENGINE BOOKS
  • MECH SPECIAL EXAM BOOKS
  • MECH GATE NOTES COLLECTION
  • MECH DATA BOOKS COLLECTION
  • MECH PROJECT COLLECTION
  • AERONAUTICAL MAJOR BOOKS
  • AERO SPACE BOOKS
  • AERO SPACE CRAFT BOOKS
  • AIRCRAFT BOOKS
  • AERO DYNAMICS BOOKS
  • ODD SEM LAB MANUALS
  • EVEN SEM LAB MANUALS
  • R2017 LAB MANUAL
  • IIT-JEE SYLLABUS
  • IIT-JEE QP COLLECTION
  • IIT-JEE RANK BOOSTER
  • IIT-JEE MATHS
  • IIT-JEE PHYSICS
  • IIT-JEE PHYSICS TOPIC WISE NOTES
  • IIT-JEE CHEMISTRY
  • IIT-JEE CHEMISTRY TOPIC WISE NOTES
  • GATE IES TANCET SYLLABUS
  • CIVIL GATE COLLECTION
  • CSE GATE COLLECTION
  • ECE GATE COLLECTION
  • EEE GATE COLLECTION
  • MECH GATE COLLECTION
  • IES OBJECTIVE PAPERS
  • IES SUBJECTIVE PAPERS
  • RRB EXAM COLLECTION
  • SSC EXAM COLLECTION
  • APTITUDE BOOKS
  • REASONING BOOKS
  • BANK AWARENESS BOOKS
  • ENGLISH GRAMMAR BOOKS
  • Articles For You
  • Admit Cards

LearnEngineering.in

  • First Sem R2021
  • R2021 Notes

[PDF] GE3151 Problem Solving and Python Programming (PSPP) Books, Lecture Notes, 2 marks with answers, Important Part B 16 Marks Questions, Question Bank & Syllabus

Download GE3151 Problem Solving and Python Programming (PSPP) Books Lecture Notes Syllabus Part-A 2 marks with answers GE3151 Problem Solving and Python Programming Important Part-B 16 marks Questions , PDF Books, Question Bank with answers Key, GE3151 Problem Solving and Python Programming Syllabus & Anna University GE3151 Problem Solving and Python Programming Question Papers Collection.

Students Click to Join our WhatsApp Group | Telegram Channel

Download link is provided for Students to download the Anna University GE3151 Problem Solving and Python Programming Syllabus Question Bank Lecture Notes Part A 2 marks with answers & Part B 16 marks Question Bank with answer , Anna University Question Paper Collection, All the materials are listed below for the students to make use of it and get good (maximum) marks with our study materials.

“GE3151 Problem Solving and Python Programming Notes, Lecture Notes, Previous Years Question Papers “

“GE3151 Problem Solving and Python Programming Important 16 marks Questions with Answers”

“GE3151 Problem Solving and Python Programming Important 2 marks & 16 marks Questions with Answers”

“GE3151 Problem Solving and Python Programming Important Part A & Part B Questions”

“GE3151 Problem Solving and Python Programming Syllabus, Local Author Books, Question Banks”

You all must have this kind of questions in your mind. Below article will solve this puzzle of yours. Just take a look and download the study materials for your preparation.

GE3151 Problem Solving and Python Programming (PSPP) Notes Part A & Part B Important Questions with Answers var td_screen_width = window.innerWidth; if ( td_screen_width >= 1140 ) { /* large monitors */ document.write(' Download Links '); (adsbygoogle = window.adsbygoogle || []).push({}); } if ( td_screen_width >= 1019 && td_screen_width Download Links '); (adsbygoogle = window.adsbygoogle || []).push({}); } if ( td_screen_width >= 768 && td_screen_width Download Links '); (adsbygoogle = window.adsbygoogle || []).push({}); } if ( td_screen_width Download Links '); (adsbygoogle = window.adsbygoogle || []).push({}); } .u444d0c645469624d047e67049274195a { padding:0px; margin: 0; padding-top:1em!important; padding-bottom:1em!important; width:100%; display: block; font-weight:bold; background-color:inherit; border:0!important; border-left:4px solid #2ECC71!important; text-decoration:none; } .u444d0c645469624d047e67049274195a:active, .u444d0c645469624d047e67049274195a:hover { opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; text-decoration:none; } .u444d0c645469624d047e67049274195a { transition: background-color 250ms; webkit-transition: background-color 250ms; opacity: 1; transition: opacity 250ms; webkit-transition: opacity 250ms; } .u444d0c645469624d047e67049274195a .ctaText { font-weight:bold; color:#E74C3C; text-decoration:none; font-size: 16px; } .u444d0c645469624d047e67049274195a .postTitle { color:#000000; text-decoration: underline!important; font-size: 16px; } .u444d0c645469624d047e67049274195a:hover .postTitle { text-decoration: underline!important; } Also Check :   [PDF] EE3402 Linear Integrated Circuits (LIC) Books, Lecture Notes, 2 marks with answers, Important Part B 16 Marks Questions, Question Bank & Syllabus var td_screen_width = window.innerWidth; if ( td_screen_width >= 1140 ) { /* large monitors */ document.write(' '); (adsbygoogle = window.adsbygoogle || []).push({}); } if ( td_screen_width >= 1019 && td_screen_width '); (adsbygoogle = window.adsbygoogle || []).push({}); } if ( td_screen_width >= 768 && td_screen_width '); (adsbygoogle = window.adsbygoogle || []).push({}); } if ( td_screen_width '); (adsbygoogle = window.adsbygoogle || []).push({}); }

GE3151 Problem Solving and Python Programming – Study Materials – Details

GE3151 Problem Solving and Python Programming (PSPP) “R2021 – SYLLABUS”

GE3151 PROBLEM SOLVING AND PYTHON PROGRAMMING

UNIT I COMPUTATIONAL THINKING AND PROBLEM SOLVING

Fundamentals of Computing – Identification of Computational Problems -Algorithms, building blocks of algorithms (statements, state, control flow, functions), notation (pseudo code, flow chart, programming language), algorithmic problem solving, simple strategies for developing algorithms (iteration, recursion). Illustrative problems: find minimum in a list, insert a card in a list of sorted cards, guess an integer number in a range, Towers of Hanoi.

UNIT II DATA TYPES, EXPRESSIONS, STATEMENTS

Python interpreter and interactive mode, debugging; values and types: int, float, boolean, string, and list; variables, expressions, statements, tuple assignment, precedence of operators, comments; Illustrative programs: exchange the values of two variables, circulate the values of n variables, distance between two points.

UNIT III CONTROL FLOW, FUNCTIONS, STRINGS

Conditionals: Boolean values and operators, conditional (if), alternative (if-else), chained conditional (if-elif-else); Iteration: state, while, for, break, continue, pass; Fruitful functions: return values, parameters, local and global scope, function composition, recursion; Strings: string slices, immutability, string functions and methods, string module; Lists as arrays. Illustrative programs: square root, gcd, exponentiation, sum an array of numbers, linear search, binary search.

UNIT IV LISTS, TUPLES, DICTIONARIES

Lists: list operations, list slices, list methods, list loop, mutability, aliasing, cloning lists, list parameters; Tuples: tuple assignment, tuple as return value; Dictionaries: operations and methods; advanced list processing – list comprehension; Illustrative programs: simple sorting, histogram, Students marks statement, Retail bill preparation.

UNIT V FILES, MODULES, PACKAGES

Files and exception: text files, reading and writing files, format operator; command line arguments, errors and exceptions, handling exceptions, modules, packages; Illustrative programs: word count, copy file, Voter’s age validation, Marks range validation (0-100).

  TEXT BOOKS:

  • Allen B. Downey, “Think Python : How to Think like a Computer Scientist”, 2nd Edition, O’Reilly Publishers, 2016.
  • Karl Beecher, “Computational Thinking: A Beginner's Guide to Problem Solving and programming”, 1st Edition, BCS Learning & Development Limited, 2017.

REFERENCES:

  • Paul Deitel and Harvey Deitel, “Python for Programmers”, Pearson Education, 1st Edition,
  • G Venkatesh and Madhavan Mukund, “Computational Thinking: A Primer for Programmers and Data Scientists”, 1st Edition, Notion Press, 2021.
  • John V Guttag, "Introduction to Computation and Programming Using Python: With Applications to Computational Modeling and Understanding Data‘‘, Third Edition, MIT Press 2021
  • Eric Matthes, “Python Crash Course, A Hands – on Project Based Introduction to Programming”, 2nd Edition, No Starch Press, 2019.
  • https://www.python.org/
  • 6. Martin C. Brown, “Python: The Complete Reference”, 4th Edition, Mc-Graw Hill,2018.

DOWNLOAD LINK

Anna University GE3151 Problem Solving and Python Programming Books Question Banks Lecture Notes Syllabus GE3151 Problem Solving and Python Programming Part A 2 Marks with Answers Part – B 16 Marks Questions with Answers & Anna University GE3151 Problem Solving and Python Programming Question Paper Collection and Local Author Books.

Click below the link “DOWNLOAD” to save the Book/Material (PDF)

Kindly Note : There are different collection of GE3151 Problem Solving and Python Programming study materials are listed below. Based on your requirement choose the suitable material for your preparation.

GE3151 Problem Solving and Python Programming Lecture Notes

Ge3151 lecture notes collection 01 – download, ge3151 lecture notes collection 02 – download, ge3151 lecture notes collection 03 – download, ge3151 lecture notes collection 04 – download, ge3151 lecture notes collection 05 – download, ge3151 problem solving and python programming unit wise 2 marks question with answers, ge3151 2 marks collection 01 – download, ge3151 2 marks collection 02 – download, ge3151 important question collection 03 – download, ge3151 important question collection 04 – download, ge3151 problem solving and python programming unit wise 2 marks, 16 marks questions with answers, ge3151 student notes collection 01 – download, ge3151 student notes collection 02 – download, ge3151 student notes collection 03 – download, ge3151 student notes collection 04 – download, ge3151 student notes collection 05 – download, ge3151 problem solving and python programming important questions & question bank collection, ge3151 questions bank collection 01 – download, ge3151 questions bank collection 02 – download, ge3151 questions bank collection 03 – download, ge3151 problem solving and python programming anna university question paper collection, ge3151 anna university question papers collection 01 – download, ge3151 anna university question papers collection 02 – download, ge3151 previous year collection  – download.

We need Your Support, Kindly Share this Web Page with Other Friends

If you have any Engg study materials with you kindly share it, It will be useful to other friends & We Will Publish The Book/Materials Submitted By You Immediately Including The Book/Materials Credits (Your Name) Soon After We Receive It (If The Book/Materials Is Not Posted Already By Us)

If You Think This Materials Is Useful, Kindly Share it .

problem solving and python programming notes

Click Here To Check Anna University Recent Updates.

Click here to download anna university ug/ pg regulation 2021 syllabus ., click here to check anna university results, other useful links, click here to download other semester civil engineering r2021 study material., click here to download other semester cse r2021 study material., click here to download other semester ece r2021 study material., click here to download other semester eee r2021 study material., click here to download other semester mechanical engineering r2021 study material., click here to download department wise r2017 & r2013 study materials., click here to download gate exam study materials., click here to download competitive exam (rrb & ssc) study materials., click here to download competitive exam (iit – jee exam) study materials., click here to download engineering text books (all departments) collection..

Thank you for visiting my thread. Hope this post is helpful to you. Have a great day !

Kindly share this post with your friends to make this exclusive release more useful.

Related Posts You May Also Like

Your comments about this post, leave a reply cancel reply.

Save my name, email, and website in this browser for the next time I comment.

Notify me of follow-up comments by email.

Notify me of new posts by email.

Trending Today

problem solving and python programming notes

[PDF] Learning Object-Oriented Programming in C# 5.0 By Bintu M.Harwani Free...

All time trending.

EE3251 Electric Circuit Analysis

[PDF] EE3251 Electric Circuit Analysis (ECA) Books, Lecture Notes, 2 marks...

Get new updates email alerts.

Enter your E- Mail Address to Subscribe this Blog and Receive Notifications of New Posts by E-Mail.

problem solving and python programming notes

Today Updates

Wind Energy Conversion Systems By S.M.Muyeen

[PDF] Wind Energy Conversion Systems: Technology and Trends By S.M.Muyeen Free...

he CSI Construction Specifications Practice Guide By Construction Specifications Institute

[PDF] The CSI Construction Specifications Practice Guide By Construction Specifications Institute...

Fundamentals of Surveying By Roy S.K

[PDF] Fundamentals of Surveying By Roy S.K Free Download

Transformers and Inductors for Power Electronics By W.G.Hurley

[PDF] Transformers and Inductors for Power Electronics By W.G.Hurley and W.H.Wölfle...

Strengthening of Concrete Structures with Adhesively Bonded Reinforcement By Konrad Zilch

[PDF] Strengthening of Concrete Structures with Adhesively Bonded Reinforcement By Konrad...

Elasticity (Physics) Notes for IIT-JEE

[PDF] Elasticity (Physics) Notes for IIT-JEE Exam Free Download

Hydrogen (Chemistry) Notes for IIT-JEE Exam

[PDF] Hydrogen (Chemistry) Notes for IIT-JEE Exam Free Download

Popular files.

problem solving and python programming notes

[PDF] GE8151 Problem Solving and Python Programming Lecture Notes, Books, Important...

EC8791 Embedded and Real Time Systems

[PDF] EC8791 Embedded and Real Time Systems Lecture Notes, Books, Important...

GE6351 Environmental Science and Engineering

[PDF] GE6351 Environmental Science and Engineering Lecture Notes, Books, Important 2...

CE6502 Foundation Engineering

[PDF] CE6502 Foundation Engineering Lecture Notes, Books, Important 2 Marks Questions...

GE8161 Problem Solving and Python Programming Lab Manual

[PDF] GE8161 Problem Solving and Python Programming Lab Manual R-2017

EE6303 Linear Integrated Circuits and Applications

[PDF] EE6303 Linear Integrated Circuits and Applications Lecture Notes, Books, Important...

Trending on learnengineering.in.

Wave Theory (Physics) Notes for IIT-JEE Exam

[PDF] Wave Theory (Physics) Notes for IIT-JEE Exam Free Download

Banking By N.T. Somashekar

[PDF] Banking By N.T. Somashekar for Bank Exam Free Download

General Organic Chemistry (Chemistry) Notes for IIT-JEE Exam

[PDF] General Organic Chemistry (Chemistry) Notes for IIT-JEE Exam Free Download

Periodic Table (Chemistry) Notes for IIT-JEE Exam

[PDF] Periodic Table (Chemistry) Notes for IIT-JEE Exam Free Download

Electrostatics (Physics) Notes for IIT-JEE Exam

[PDF] Electrostatics (Physics) Notes for IIT-JEE Exam Free Download

Temperature Scales (Physics) Notes for IIT-JEE Exam

[PDF] Temperature Scales (Physics) Notes for IIT-JEE Exam Free Download

Solid State (Chemistry) Notes for IIT-JEE Exam

[PDF] Solid State (Chemistry) Notes for IIT-JEE Exam Free Download

Sponsored by.

Website Designed and Maintained by LearnEngineering Network | Website CDN by   MaxCDN   |   Website Security by   Sucuri .

Check your Email after Joining and Confirm your mail id to get updates alerts.

...Join Now...

Search Your Files

problem solving and python programming notes

  • Privacy Policy
  • DMCA & Copyright
  • User Content Policy
  • Report Problems/Bug/Abuse

Join our Telegram Group & Share your contents, doubts, knowledge with other Students/Graduates 

problem solving and python programming notes

logo

Learning Python by doing

  • suggest edit

Computational Thinking

Computational thinking 1 #.

Finding the one definition of Computational Thinking (CT) is a task doomed to failure, mainly because it is hard to have a consensus on what CT means to everyone. To ease the communication and have a shared meaning, we consider CT as an approach to “solve problems using computers as tools” (Beecher, 2017). Notice that CT is not exclusively considered in computer science. On the contrary, CT impacts a wide range of subject areas such as mathematics, engineering, and science in general.

There is a misunderstanding regarding the relationship between CT, computer science, and programming. Some people use them interchangeably, but the three terms are not equivalent. Computer science aims at building and understanding the principles of mathematical computation; while programming –which happens to be a subfield of computer science–focuses on high-quality program writing. Although the three terms are related and might intersect in many points, CT should be seen as a method of problem-solving that is frequently (but not exclusively) used in programming. In essence, problem-solving is a creative process.

Some of the core concepts behind CT are:

Decomposition

Abstraction

Generalization

Hereafter, we will explore what these concepts mean and how they can help you when solving a problem.

Computational thinking

Computational thinking is an approach to problem-solving that involves using a set of practices and principles from computer science to formulate a solution that’s executable by a computer. [ Bee07 ]

Logic is the study of the formal principles of reasoning. These principles determine what can be considered a correct or incorrect argument. An argument is “a change of reasoning that ends up in a conclusion” [ Bee07 ] . Every statement within an argument is called a proposition , and it has a truth value . That is, it is either true or false . Thus, certain expressions like questions (e.g. “are you hungry?”) or commands (e.g. “clean your bedroom!”) cannot be propositions given that they do not have a truth value.

Below we present a very famous argument in the logic field:

Socrates is a man.

All men are mortal.

Therefore, Socrates is mortal.

This argument is composed of three propositions (each one is enumerated). These statements are propositions because all of them have a truth value. However, you can notice that some of these statements are used to arrive at a conclusion. The propositions that form the basis of an argument are known as premises . In our example, propositions 1 and 2 are premises. Lastly, the proposition that is derived from a set of premises is known as a conclusion .

Logic studies the formal principles of reasoning, which determine if an argument is correct or not. An argument is a sequence of premises. Each premise is a statement that has a truth value (i.e. true or false).

Types of Arguments #

Arguments can either be deductive or inductive.

Deductive Arguments #

Deductive arguments are considered a strong form of reasoning because the conclusion is derived from previous premises. However, deductive arguments can fail in two different scenarios:

False premises: One of the premises turns to be false. For example:

I eat healthy food.

Every person eating healthy food is tall.

I am tall. In this example, premise 2 is false. It is not true that every person eating healthy food is tall. Then, this argument fails.

Faulty logic: The conclusion is wrongly derived out from the premises. For example:

All bitterballen are round.

The moon is round.

The moon is a bitterbal. In this case, the conclusion presented in premise 3 is false. It is true that bitterballen are round and that the moon is round, but this does not imply that the moon is a bitterbal! By the way, a “bitterbal” is a typical Dutch snack, to be eaten with a good glass of beer!

Inductive Arguments #

Although deductive arguments are strong, they follow very stern standards that make them difficult to build. Additionally, the real world usually cannot be seen just in black and white–there are many shades in between. This is where inductive arguments play an important role. Inductive arguments do not have an unquestionable truth value. Instead, they deal with probabilities to express the level of confidence in them. Thus, the conclusion of the argument cannot be guaranteed to be true, but you can have a certain confidence in it. An example of an inductive argument comes as follows:

Every time I go out home it is raining.

Tomorrow I will go out from home.

Tomorrow it will be raining.

There is no way you can be certain that tomorrow will rain, but given the evidence, there is a high chance that it will be the case. (The chance might be even higher if we mention that we are living in the Netherlands!)

Deductive and inductive arguments

Arguments can be either deductive or inductive. On the one hand, deductive arguments have premises that have a clear truth value. On the other hand, inductive arguments have premises associated with a level of confidence in them.

Boolean Logic #

Given their binary nature, computers are well suited to deal with deductive reasoning (rather than inductive). To allow them to reason about the correctness of an argument, we use Boolean logic. Boolean logic is a form of logic that deals with deductive arguments–that is, arguments having propositions with a truth value that is either true or false. Boolean logic or Boolean algebra was introduced by George Boole (that is why it is called Boolean) in his book “The Mathematical Analysis of Logic” in 1847. It deals with binary variables (with true or false values) representing propositions and logical operations on them.

Logical Operators #

The main logical operators used in Boolean logic to connect propositions are:

And operator: It is also known as the conjunction operator. It chains premises in such a way that all of them must be true for the conclusion to be true.

Or operator: It is also known as the disjunction operator. It connects premises in such a way that at least one of them must be true for the conclusion to be true.

Not operator: It is also known as the negation operator. It modifies the value of a proposition by flipping its truth value.

Venn diagrams of logical operators

In Boolean logic, propositions are usually represented as letters or variables (see previous figure). For instance, going back to our Socrates argument, we can represent the three propositions as follows:

P: Socrates is a man.

Q: All men are mortal.

R: Therefore, Socrates is mortal.

In order for R to be true, P and Q most be true.

We can now translate this reasoning into Python. To do that use the following table and execute the cell below.

The previous translation to Python code of the deductive argument is correct, however we can do way better! Let us see:

Sometimes conditionals are not really needed; using a Boolean expression as the one shown above is sufficient. Having unneeded language constructs (e.g. conditionals) can negatively impact the readability of your code.

Algorithms #

We can use logic to solve everyday life problems. To do so, we rely on the so-called algorithms. Logic and algorithms are not equivalent. On the contrary, an algorithm uses logic to make decisions for it to solve a well-defined problem. In short, an algorithm is a finite sequence of well-defined instructions that are used to provide a solution to a problem. According to this definition, it seems that algorithms are what we create, refine, and execute every single day of our lives, isn’t it? Think for instance about the algorithm to dress up in the morning or the algorithm (or sequence of steps) that you follow to bake a cake or cook a specific recipe. Those are also algorithms that we have internalized and follow unconsciously.

To design an algorithm, we usually first need to specify the following set of elements:

the problem to be solved or question to be answered. If you do not have a well-defined problem you might end up designing a very efficient but useless algorithm that does not solve the problem at hand. Thus, ensure you understand the problem before thinking about a solution;

the inputs of the algorithm–that is, the data you require to compute the solution;

the output of the algorithm–that is, the expected data that you want to get out from your solution, and;

the algorithm or sequence of steps that you will follow to come up with an answer.

Without having a clear picture of your problem, and the expected inputs and output to solve that problem, it will be unlikely that you will be able to come up with a proper algorithm. Furthermore, beware that for algorithms to be useful, they should terminate at some point (they cannot just run forever without providing a solution!) and output a correct result. An algorithm is correct if it outputs the right solution to every possible input. Proving this might be unfeasible, which is why testing your algorithm (maybe after implementing a program) is crucial.

An algorithm is a finite sequence of clearly defined instructions used to solve a specific problem.

Appeltaart Algorithm #

To be conscious about the process of designing an algorithm, let us create an algorithm to prepare the famous Dutch Appeltaart . The recipe has been taken from the Heel Holland Bakt website .

Dutch Appeltaart

We will start by defining the problem we want to solve. In our case, we want to prepare a classical Dutch Appeltaart .

Inputs (Ingredients) #

The inputs to our algorithm correspond to the ingredients needed to prepare the pie. We list them below:

200 grams of butter

160 grams of brown sugar

0.50 teaspoon of cinnamon

300 grams of white flour

a pinch of salt

breadcrumbs

Apple filling

100 grams of raisins

100 grams of shelled walnuts

5 tablespoons of sugar

3 teaspoons of cinnamon

1 egg for brushing

25 white almonds

Output (Dish) #

The expected output of our algorithm is a delicious and well-prepared Dutch Appeltaart.

Algorithm (Recipe) #

Preparation

Grease a round pan and dust with flour.

Preheat the oven to 180°C.

  • Mix the butter with brown sugar and cinnamon.
  • Add the flour with a pinch of salt to the butter mixture.
  • Add 1 egg to the mixture.
  • Knead into a smooth dough and let rest in the fridge for at least 15 minutes.
  • Roll out 2/3 of the dough and line the pan with it.
  • Spread the breadcrumbs over the bottom.
  • Place the pan in the fridge to rest.
  • Put the raisins in some rum.
  • Peel the apples and cut them into wedges.
  • Strain the raisins.
  • Mix the apples with raisins, walnuts, sugar, and cinnamon.
  • Pour the filling into the pan.
  • Cover the top of the pie with the remaining dough.
  • Brush the top with a beaten egg and sprinkle with the almonds.
  • Bake the apple pie for about 60 minutes.
  • Let cool and enjoy!
“The limits of my language mean the limits of my world.” - Ludwig Wittgenstein

In the previous section, we were able to write down the algorithm to prepare a Dutch Appeltaart. Writing down an algorithm is of great importance given that you do not only guarantee that you can execute the algorithm in future opportunities, but you also provide a means to share the algorithm, so other people can benefit from what you designed. But to be able to write down the algorithm, we require an additional tool–that is, a language. In the previous example, we used English to describe our Appeltaart algorithm. However, if you remember correctly, computational thinking relies on computers to solve real-world problems. Thus, the algorithms we want to write down must be written in a language that can be understood by a computer. But beware! The computer is not the only other entity that needs to understand your algorithm: what you write down should be understood by both the machine and other people that might read it afterward (including the you from the future).

Language is a system of communication. It has a syntax and semantics :

The syntax of a language describes the form or structure of the language constructs. The syntax can be defined with a grammar , which is a set of rules that specify how to build a correct sentence in the language.

The semantics describes the meaning of language constructs.

Languages can also be classified as natural or formal :

Natural languages are languages used by people to communicate with each other (e.g. English, Spanish, Dutch, Arabic). They were not designed from the very beginning, on the contrary, they evolved naturally over time.

Formal languages are languages designed by humans for specific domains or purposes. They usually are simplified models of natural language. Examples of formal languages are the mathematical, chemical, or staff (standard music notation) notations. There is also a very important example that interests us the most: programming languages.

Programming Languages #

Programming languages are formal languages with very strict syntax and semantics . These languages are used to write down algorithms. A program is, then, an algorithm implemented using a programming language. To this point, we can make some connections with previous concepts: CT is a method of problem-solving where problems are solved by reusing or designing a new algorithm . This algorithm might later be written down as a program to compute a solution to the original problem.

Python is an example of a programming language. It was conceptualized in 1989 by Guido van Rossum when working at the Centrum Wiskunde & Informatica (CWI), in Amsterdam. Python saw its beginnings in the ABC language. Its name–referring to this monumental sort of snake–actually comes from an old BBC series called Monty Python’s Flying Circus. Guido was reading the scripts of the series and he found out that Python sounded “short, unique, and slightly mysterious”, which is why he decided to adopt the name.

Guido van Rossum

Please clarify that there is a difference between solving a problem, inventing an algorithm, and writing a program.

It maybe the case that to solve a problem you apply a known algorithm, think of sorting words, but it may also be the case that to solve the problem you have to come up with a new algorithm.

The Zen of Python #

In 1999, Tim Peters–one of Python’s main contributors– wrote a collection of 19 principles that influence the design of the Python programming language. This collection is now known as the Zen of Python. Peters mentioned that the 20 \(^{th}\) principle is meant to be filled in by Guido in the years to come. Have a look at the principles. You can consider them as guidelines for the construction of your own programs.

A language is a system of communication, that has syntax and semantics. The syntax describes the form of the language, while the semantics describes its meaning. A language can be either natural (evolves naturally) or formal (designed for a specific domain or purpose). Programming languages are a sort of formal languages and are used to allow communication between humans and computers.

Decomposition #

In 1945 (in the year that the II World War ended), George Pólya, a Hungarian mathematician, wrote a book called “How to Solve It”. The book presents a systematic method of problem-solving that is still relevant today. In particular, he introduced problem-solving techniques known as heuristics . A heuristic is a strategy to solve a specific problem by yielding a good enough solution, but not necessarily an optimal one. There is one important type of heuristic known as decomposition . Decomposition is a divide-and-conquer approach that breaks complex problems into smaller and simpler subproblems, so we can deal with them more efficiently.

In programming, we have diverse constructs that will ease the implementation of decomposition. In particular, classes and functions (or methods ) are a means to divide a complex solution to a complex problem into smaller chunks of code. We will cover these topics later in the course.

Decomposition is a divide-and-conquer approach that breaks complex problems into smaller and simpler subproblems.

Abstraction & Generalization #

Abstraction is the process of hiding irrelevant details in a given context and preserving only the important information. Abstraction is required when generalizing. In fact, generalization is the process of defining general concepts by abstracting common properties from a set of instances. In other words, generalization allows you to formulate a unique concept out of similar but not necessarily identical entities. When generalizing a solution, it becomes simpler because there are fewer concepts to deal with. The solution also becomes more powerful in the sense that it can be applied to more problems of similar nature.

To be able to generalize a solution or algorithm, you need to start developing your ability to recognize patterns. For instance:

A sequence of instructions that are repeating multiple times can be generalized into loops .

Specialized instructions that are employed more than once in different scenarios can be encapsulated in subroutines or functions .

Constraints that determine the flow of execution of your algorithm can be generalized in conditionals .

Abstraction and generalization

Abstraction is the process of preserving relevant information in a given context and hiding irrelevant details. In addition, generalization is the process of defining general concepts by abstracting common properties from a set of instances.

Modelling #

All models are wrong, but some are useful. (Box, 1987)

Humans and computers are not able to completely grasp and understand the real world. Thus, to solve real-world problems, we usually need to create models that help us understand and solve the issue. A model is a representation of an entity. Thus, a model as a representation that, by definition, ignores certain details of the represented entity, is also a type of abstraction . A model in computer science usually consists of:

Entities: core concepts of the represented system.

Relationships: connections among entities within the represented system.

Models usually come in two flavors:

Static models: these models reflect a snapshot of the system at a given moment in time. The state of the system might change in the future but the changes are so small or unfrequent that the model is still useful and sufficient.

Dynamic models: these models explain changes in the state of a system over time. They always involve states (description of the system at a given point in time) and transitions (state changes). Some dynamic models can be executed to predict the state of the system in the future.

When creating a model you should verify that:

The model is useful to solve the problem at hand.

You are strictly following the rules , notation, and conventions to define a model.

The level of accuracy of your model is acceptable to solve the problem (i.e. you keep the strictly needed information).

You have defined the level of precision at which you represent your model (especially when dealing with decimal numbers; how many decimal points are required?).

A model is a representation of an entity. It is a type of abstraction.

Example: Alice’s Adventures in Wonderland #

In this section, we will apply computational thinking to solve a problem from Alice’s Adventures in Wonderland, written by Lewis Caroll. In chapter I, “Down the Rabbit Hole”, Alice found herself falling down into a rabbit hole. She finally reached the ground, coming upon “a heap of sticks and dry leaves”. Alice found herself in a “long, low hall, which was lit up by a row of lamps hanging from the roof”.

“There were doors all around the hall, but they were all locked”. She started “wondering how she was ever to get out again”. She suddenly discovered a tiny golden key on a little three-legged table, all made of solid glass. After looking around, “she came upon a low curtain she had not noticed before, and behind it was a little door about fifteen inches high: she tried the little golden key in the lock, and to her great delight it fitted!” But she was not able to go through it; the doorway was too small.

Later in the chapter, we find out that there was a bottle with a ‘DRINK ME’ label that makes shorter anyone drinking its content. There was also a very small cake with the words ‘EAT ME’ beautifully marked in currant. Anyone eating the cake will grow larger. How can we help Alice go out of the hall through the small doorway behind the curtain?

To solve this problem, assume that:

Alice is 60 inches tall;

Alice can go out of the doorway if she is taller than 10 inches (exclusive) and shorter than 15 inches (inclusive);

one sip of the ‘DRINK ME’ bottle makes anyone get 11 inches shorter;

Alice can only sip from the bottle at a point in time;

one bite of the ‘EAT ME’ cake makes anyone grow 1 inch larger;

Alice can only have a bite of the cake at a point in time, and;

Alice cannot sip from the bottle and a bite of the cake at the same time.

Alice holding the ‘DRINK ME’ bottle

Understanding the Problem #

Problem: Alice wants to go out of the hall. To do so, she needs to go through the doorway behind the curtain, but she is too tall to go through it.

Identifying the Inputs #

The inputs we have at hand are:

Alice’s height (i.e. 60 inches)

Doorway height (i.e. 15 inches)

Height decrease after taking a sip from the ‘DRINK ME’ bottle (i.e. 11 inches)

Height increase after taking a bite from the ‘EAT ME’ cake (i.e. 1 inch)

We abstracted the relevant information to the problem. Details are removed if they are not needed;

thus, the inputs are useful to solve the problem.

The inputs were written in Python. They follow the syntax rules of the programming language.

The identified inputs are enough to accurately solve the problem.

We use integers to represent Alice’s height. There is no need to use floats. Therefore, the level of precision of our model is acceptable to solve the problem.

Identifying the Expected Output #

As a solution to our problem, we want Alice to go out from the hall through the doorway. To do so, her height should be greater than 10 inches and less than or equal to 15 inches.

Output: Alice’s height should be greater than 10 inches and less than or equal to 15 inches.

Example : Write a function that takes two numbers and returns their sum.

  • Implement addition
  • Integer, Float, etc.

Once we have understood the given problem, we can look up various examples related to it. The examples should cover all situations that can be encountered while the implementation.

  • Start with simple examples.
  • Progress to more complex examples.
  • Explore examples with empty inputs.
  • Explore examples with invalid inputs.

Example : Write a function that takes a string as input and returns the count of each character

After exploring examples related to the problem, we need to break down the given problem. Before implementation, we write out the steps that need to be taken to solve the question.

Once we have laid out the steps to solve the problem, we try to find the solution to the question. If the solution cannot be found, try to simplify the problem instead.

The steps to simplify a problem are as follows:

  • Find the core difficulty
  • Temporarily ignore the difficulty
  • Write a simplified solution
  • Then incorporate that difficulty

Since we have completed the implementation of the problem, we now look back at the code and refactor it if required. It is an important step to refactor the code so as to improve efficiency.

The following questions can be helpful while looking back at the code and refactoring:

  • Can we check the result?
  • Can we derive the result differently?
  • Can we understand it at a glance?
  • Can we use the result or mehtod for some other problem?
  • Can you improve the performance of the solution?
  • How do other people solve the problem?

Trending Posts You Might Like

  • File Upload / Download with Streamlit
  • Dijkstra’s Algorithm in Python
  • Seaborn with STREAMLIT
  • Greedy Algorithms in Python

Author : Bhavya

How to think like a programmer — lessons in problem solving

How to think like a programmer — lessons in problem solving

by Richard Reis

aNP21-ICMABUCyfdi4Pys7P0D2wiZqTd3iRY

If you’re interested in programming, you may well have seen this quote before:

“Everyone in this country should learn to program a computer, because it teaches you to think.” — Steve Jobs

You probably also wondered what does it mean, exactly, to think like a programmer? And how do you do it??

Essentially, it’s all about a more effective way for problem solving .

In this post, my goal is to teach you that way.

By the end of it, you’ll know exactly what steps to take to be a better problem-solver.

Why is this important?

Problem solving is the meta-skill.

We all have problems. Big and small. How we deal with them is sometimes, well…pretty random.

Unless you have a system, this is probably how you “solve” problems (which is what I did when I started coding):

  • Try a solution.
  • If that doesn’t work, try another one.
  • If that doesn’t work, repeat step 2 until you luck out.

Look, sometimes you luck out. But that is the worst way to solve problems! And it’s a huge, huge waste of time.

The best way involves a) having a framework and b) practicing it.

“Almost all employers prioritize problem-solving skills first.
Problem-solving skills are almost unanimously the most important qualification that employers look for….more than programming languages proficiency, debugging, and system design.
Demonstrating computational thinking or the ability to break down large, complex problems is just as valuable (if not more so) than the baseline technical skills required for a job.” — Hacker Rank ( 2018 Developer Skills Report )

Have a framework

To find the right framework, I followed the advice in Tim Ferriss’ book on learning, “ The 4-Hour Chef ”.

It led me to interview two really impressive people: C. Jordan Ball (ranked 1st or 2nd out of 65,000+ users on Coderbyte ), and V. Anton Spraul (author of the book “ Think Like a Programmer: An Introduction to Creative Problem Solving ”).

I asked them the same questions, and guess what? Their answers were pretty similar!

Soon, you too will know them.

Sidenote: this doesn’t mean they did everything the same way. Everyone is different. You’ll be different. But if you start with principles we all agree are good, you’ll get a lot further a lot quicker.

“The biggest mistake I see new programmers make is focusing on learning syntax instead of learning how to solve problems.” — V. Anton Spraul

So, what should you do when you encounter a new problem?

Here are the steps:

1. Understand

Know exactly what is being asked. Most hard problems are hard because you don’t understand them (hence why this is the first step).

How to know when you understand a problem? When you can explain it in plain English.

Do you remember being stuck on a problem, you start explaining it, and you instantly see holes in the logic you didn’t see before?

Most programmers know this feeling.

This is why you should write down your problem, doodle a diagram, or tell someone else about it (or thing… some people use a rubber duck ).

“If you can’t explain something in simple terms, you don’t understand it.” — Richard Feynman

Don’t dive right into solving without a plan (and somehow hope you can muddle your way through). Plan your solution!

Nothing can help you if you can’t write down the exact steps.

In programming, this means don’t start hacking straight away. Give your brain time to analyze the problem and process the information.

To get a good plan, answer this question:

“Given input X, what are the steps necessary to return output Y?”

Sidenote: Programmers have a great tool to help them with this… Comments!

Pay attention. This is the most important step of all.

Do not try to solve one big problem. You will cry.

Instead, break it into sub-problems. These sub-problems are much easier to solve.

Then, solve each sub-problem one by one. Begin with the simplest. Simplest means you know the answer (or are closer to that answer).

After that, simplest means this sub-problem being solved doesn’t depend on others being solved.

Once you solved every sub-problem, connect the dots.

Connecting all your “sub-solutions” will give you the solution to the original problem. Congratulations!

This technique is a cornerstone of problem-solving. Remember it (read this step again, if you must).

“If I could teach every beginning programmer one problem-solving skill, it would be the ‘reduce the problem technique.’
For example, suppose you’re a new programmer and you’re asked to write a program that reads ten numbers and figures out which number is the third highest. For a brand-new programmer, that can be a tough assignment, even though it only requires basic programming syntax.
If you’re stuck, you should reduce the problem to something simpler. Instead of the third-highest number, what about finding the highest overall? Still too tough? What about finding the largest of just three numbers? Or the larger of two?
Reduce the problem to the point where you know how to solve it and write the solution. Then expand the problem slightly and rewrite the solution to match, and keep going until you are back where you started.” — V. Anton Spraul

By now, you’re probably sitting there thinking “Hey Richard... That’s cool and all, but what if I’m stuck and can’t even solve a sub-problem??”

First off, take a deep breath. Second, that’s fair.

Don’t worry though, friend. This happens to everyone!

The difference is the best programmers/problem-solvers are more curious about bugs/errors than irritated.

In fact, here are three things to try when facing a whammy:

  • Debug: Go step by step through your solution trying to find where you went wrong. Programmers call this debugging (in fact, this is all a debugger does).
“The art of debugging is figuring out what you really told your program to do rather than what you thought you told it to do.”” — Andrew Singer
  • Reassess: Take a step back. Look at the problem from another perspective. Is there anything that can be abstracted to a more general approach?
“Sometimes we get so lost in the details of a problem that we overlook general principles that would solve the problem at a more general level. […]
The classic example of this, of course, is the summation of a long list of consecutive integers, 1 + 2 + 3 + … + n, which a very young Gauss quickly recognized was simply n(n+1)/2, thus avoiding the effort of having to do the addition.” — C. Jordan Ball

Sidenote: Another way of reassessing is starting anew. Delete everything and begin again with fresh eyes. I’m serious. You’ll be dumbfounded at how effective this is.

  • Research: Ahh, good ol’ Google. You read that right. No matter what problem you have, someone has probably solved it. Find that person/ solution. In fact, do this even if you solved the problem! (You can learn a lot from other people’s solutions).

Caveat: Don’t look for a solution to the big problem. Only look for solutions to sub-problems. Why? Because unless you struggle (even a little bit), you won’t learn anything. If you don’t learn anything, you wasted your time.

Don’t expect to be great after just one week. If you want to be a good problem-solver, solve a lot of problems!

Practice. Practice. Practice. It’ll only be a matter of time before you recognize that “this problem could easily be solved with <insert concept here>.”

How to practice? There are options out the wazoo!

Chess puzzles, math problems, Sudoku, Go, Monopoly, video-games, cryptokitties, bla… bla… bla….

In fact, a common pattern amongst successful people is their habit of practicing “micro problem-solving.” For example, Peter Thiel plays chess, and Elon Musk plays video-games.

“Byron Reeves said ‘If you want to see what business leadership may look like in three to five years, look at what’s happening in online games.’
Fast-forward to today. Elon [Musk], Reid [Hoffman], Mark Zuckerberg and many others say that games have been foundational to their success in building their companies.” — Mary Meeker ( 2017 internet trends report )

Does this mean you should just play video-games? Not at all.

But what are video-games all about? That’s right, problem-solving!

So, what you should do is find an outlet to practice. Something that allows you to solve many micro-problems (ideally, something you enjoy).

For example, I enjoy coding challenges. Every day, I try to solve at least one challenge (usually on Coderbyte ).

Like I said, all problems share similar patterns.

That’s all folks!

Now, you know better what it means to “think like a programmer.”

You also know that problem-solving is an incredible skill to cultivate (the meta-skill).

As if that wasn’t enough, notice how you also know what to do to practice your problem-solving skills!

Phew… Pretty cool right?

Finally, I wish you encounter many problems.

You read that right. At least now you know how to solve them! (also, you’ll learn that with every solution, you improve).

“Just when you think you’ve successfully navigated one obstacle, another emerges. But that’s what keeps life interesting.[…]
Life is a process of breaking through these impediments — a series of fortified lines that we must break through.
Each time, you’ll learn something.
Each time, you’ll develop strength, wisdom, and perspective.
Each time, a little more of the competition falls away. Until all that is left is you: the best version of you.” — Ryan Holiday ( The Obstacle is the Way )

Now, go solve some problems!

And best of luck ?

Special thanks to C. Jordan Ball and V. Anton Spraul . All the good advice here came from them.

Thanks for reading! If you enjoyed it, test how many times can you hit in 5 seconds. It’s great cardio for your fingers AND will help other people see the story.

If this article was helpful, share it .

Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started

swayam-logo

Problem solving Aspects and Python Programming

Page Visits

Course layout, books and references, instructor bio.

problem solving and python programming notes

Dr.S.Malliga, Dr.R.Thangarajan, Dr.S.V.Kogilavani

Course certificate.

problem solving and python programming notes

DOWNLOAD APP

problem solving and python programming notes

SWAYAM SUPPORT

Please choose the SWAYAM National Coordinator for support. * :

problem solving and python programming notes

  • Business Management
  • General Reads
  • ILPP (Indian Languages Publishing Program)
  • Philosophy Religion
  • Resources for
  • South Asia Conclave
  • South Asia Conclave 2018
  • South Asia Conclave 2019

close button

Dictionaries

  • English Dictionaries
  • Subject Dictionaries
  • English Language Teaching
  • Applied Linguistics
  • Business & English for Specific purposes
  • Courses for Adult Learners
  • Courses for Young Learners
  • English for academic purposes
  • Exams & Testing
  • Grammar & Vocabulary
  • Professional Development
  • Skill Courses

Higher Education

  • Engineering
  • Hospitality
  • Mathematics
  • Media Studies
  • Online and Digital Products
  • Instructors and Students

School Education

  • Art and Crafts
  • Bengali Language
  • Computer Science
  • General Knowledge
  • Hindi Language
  • International School
  • Modern Foreign Languages
  • Physical Education
  • Pre-Primary Package
  • Semester Books
  • Social Science
  • Tamil Language
  • Value Education
  • Oxford Educate
  • Oxford Advantage
  • Oxford Inspire
  • Oxford Reading Portal
  • Online Teacher Training
  • Oxford Reading Buddy
  • Pre-Primary
  • School Teachers and Students
  • Free Resources for Teachers
  • Free Resources for Students
  • General Interests - STEAM
  • Oxford Big Read Global Contest
  • Summer School 2022
  • Resource videos
  • Author videos

General & Reference

  • Children Books
  • General Reading or Interest
  • > Higher Education
  • > Engineering
  • > Computer Science Engineering
  • > Programming Languages
  • > Problem Solving and Programming with Python

Description

Table of contents

Problem Solving and Programming with Python

For Anna University

Price: 580.00 INR

down arrow

We sell our titles through other companies

arrow-frwd

Disclaimer :You will be redirected to a third party website.The sole responsibility of supplies, condition of the product, availability of stock, date of delivery, mode of payment will be as promised by the said third party only. Prices and specifications may vary from the OUP India site.

9780190120931

Publication date:

241.0x184.0mm

Problem Solving and Programming with Python

Second Edition

Reema Thareja

The second edition of Problem Solving and Programming with Python is designed as a textbook to meet the requirements of the Python programming course offered to the first year engineering students of Anna University. The book provides an introduction to the problem solving approaches and object oriented programming. It deals with the fundamentals and important features of Python language such as control statements, functions, strings, files, data structures, classes and objects, and exception handling.

Rights:  World Rights

  • Algorithmic Problem Solving
  • Basics of Python Programming
  • Control Flow Statements
  • Lists, Tuples, and Dictionaries
  • File Handling
  • Error and Exception Handling, Modules, Packages
  • Complete coverage of the Problem Solving and Python Programming syllabus offered by Anna University.
  • Simple and to-the-point explanations of concepts using numerous programming examples that make the text easy to understand.
  • Detailed coverage of fundamental constructs, strings, file handling, classes, and exception handling in Python.
  • Notes and programming tips provided to emphasize on the important concepts and help readers avoid common programming errors.
  • Lab exercises and illustrative examples explained through algorithms and flowcharts to help readers hone their logical and programming abilities.
  • Case studies on creating calculator, calendar, and hash files, compressing strings and files, image processing, shuffling a deck of cards, and mail merge along with programs are interspersed within the text.
  • Strong chapter-end pedagogy including plenty of objective-type questions, review questions, programming and debugging exercises to facilitate revision and practice of concepts learnt.
  • 2 solved question papers and 2 solved model question papers included to help readers prepare for the university examinations.
  • 6 annexures and 4 appendices covering differences between Python 2.x and 3.x, installing Python, debugging and testing, Turtle graphics, plotting graphs, and GUI Programming provided to supplement the text.
  • New topics as required by the syllabus such as Python interpreter and interactive mode, Fruitful functions, function composition, mutability, list parameters, list as arrays, Boolean values and operators
  • More illustrative examples added under Algorithms, Pseudocode, and Flowcharts
  • Elaboration on topics such as modules, packages, command line arguments (under File Handling)
  • Complete solutions for previous years' Anna University question papers of Python Programming (Dec/ Jan 2017/18 and Dec/ Jan 2018/19)
  • Chapter-wise PPTs
  • Solutions Manual
  • Chapters on Inheritance and Operator Overloading
  • Additional Material
  • Lab Exercises
  • Test Generator
  • Solutions to Find the Output and Error Exercises
  • Extra Reading Material
  • Additional Algorithms, Pseudocodes, and Flowcharts

Related categories

  • Engineering > Computer Science Engineering > Programming Languages

problem solving and python programming notes

Problem Solving with Python

If you like this book, please consider purchasing a hard copy version on amazon.com .

  • You will find the book chapters on the left hand menu
  • You will find navigation within a section of a chapter (one webpage) on the righthand menu
  • Sources for this text are stored on GitHub at github.com/professorkazarinoff/Problem-Solving-with-Python-37-Edition

If you find the text useful, please consider supporting the work by purchasing a hard copy of the text .

This work is licensed under a GNU General Public License v3.0

  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • February 2023
  • January 2023
  • December 2022
  • January 2022
  • November 2021
  • August 2021
  • February 2021
  • November 2019
  • Academic Performance
  • AU Syllabus
  • Duplicate Certificate
  • Internal Marks
  • Malpractice
  • Notes & QP
  • Recent Notifications
  • Transcripts
  • WH (With-Held)
  • Entries feed
  • Comments feed
  • WordPress.org

STUCOR

Problem Solving and Python Programming (GE8151) Notes, Question Papers & Syllabus

APR/MAY 2023 EXAMS

Engineering Graphics (GE3251) [EG] Notes, Question Papers & Syllabus

Basic electrical, electronics and instrumentation engineering (be3252) [beeie] notes, question papers & syllabus, electric circuit analysis (ee3251) [eca] notes, question papers & syllabus.

Stay Connected with STUCOR App

  • Trending Now
  • Foundational Courses
  • Data Science
  • Practice Problem
  • Machine Learning
  • System Design
  • DevOps Tutorial

Dive into the exploration of number pairs XY and YX with our enlightening tutorial! Understanding the concept of number pairs where XY equals YX is crucial for various mathematical and programming challenges. Mastering this concept enables you to efficiently identify such pairs and utilize them in problem-solving scenarios.

In this tutorial, we'll delve into the intricacies of number pairs XY and YX, providing clear explanations and insightful examples. You'll learn how to approach the problem systematically, identify the conditions for XY equaling YX, and devise algorithms to find such pairs efficiently. Additionally, we'll cover various techniques to optimize the search process and handle different scenarios gracefully.

Join us as we unravel the mysteries of number pairs XY and YX, offering step-by-step guidance, code snippets, and visualization techniques along the way. From understanding the underlying mathematics to implementing efficient algorithms in your own projects, you'll gain the knowledge and skills to tackle this intriguing problem.

Ready to embark on the journey of exploring number pairs XY and YX? Dive into our tutorial now and discover how to efficiently solve this problem! For further exploration and detailed insights, don't forget to check out the accompanying article on GeeksforGeeks: https://www.geeksforgeeks.org/find-number-pairs-xy-yx/

Don't miss out on the opportunity to enhance your understanding of mathematical concepts and their application in programming challenges. Like, share, and subscribe for more tutorials and insights into mathematical problem-solving. Let's uncover fascinating number pairs together. Happy exploring!

Video Thumbnail

IMAGES

  1. Programming And Problem Solving With Python By Amit Ashok Kamthane And

    problem solving and python programming notes

  2. PROBLEM SOLVING AND PYTHON PROGRAMMING

    problem solving and python programming notes

  3. learn problem solving with python

    problem solving and python programming notes

  4. Python Basics Tutorial How to Solve A Programming Problem

    problem solving and python programming notes

  5. problem solving and python programming notes

    problem solving and python programming notes

  6. Problem Solving and Python Programming

    problem solving and python programming notes

VIDEO

  1. File Handling and Dictionaries

  2. PYTHON : CONCEPT OF PROBLEM SOLVING

  3. Overview of Python Programming

  4. GE8151 Problem Solving Python Programming Language

  5. Solving Problems Using input method in Python

  6. GE 8151 PSPP Topic 2

COMMENTS

  1. PDF Notes of Lesson Ge3151- Problem Solving and Python Programming

    PROBLEM SOLVING TECHNIQUES Problem solving technique is a set of techniques that helps in providing logic for solving a problem. Problem solving can be expressed in the form of 1. Algorithms. 2. Flowcharts. 3. Pseudo codes. 4. Programs 1.ALGORITHM It is defined as a sequence of instructions that describe a method for solving a problem. In other ...

  2. GE3151 Problem Solving and Python Programming Lecture Notes 2021

    GE3151 PSPP Notes : We are providing the GE3151 Problem Solving and Python Programming Lecture Notes, and Hand Written Notes Collections PDF below for your examination success. use our Materials to score good marks in the examination. Best of Luck. Regulation. 2021.

  3. GE3151 Problem Solving and Python Programming (PSPP) Notes Part A

    Download link is provided for Students to download the Anna University GE3151 Problem Solving and Python Programming Syllabus Question Bank Lecture Notes Part A 2 marks with answers & Part B 16 marks Question Bank with answer, Anna University Question Paper Collection, All the materials are listed below for the students to make use of it and get good (maximum) marks with our study materials.

  4. Python Exercises, Practice, Challenges

    Each exercise has 10-20 Questions. The solution is provided for every question. Practice each Exercise in Online Code Editor. These Python programming exercises are suitable for all Python developers. If you are a beginner, you will have a better understanding of Python after solving these exercises. Below is the list of exercises.

  5. Computational Thinking

    To this point, we can make some connections with previous concepts: CT is a method of problem-solving where problems are solved by reusing or designing a new algorithm. This algorithm might later be written down as a program to compute a solution to the original problem. Python is an example of a programming language. It was conceptualized in ...

  6. Python Basics: Problem Solving with Code

    In this course you will see how to author more complex ideas and capabilities in Python. In technical terms, you will learn dictionaries and how to work with them and nest them, functions, refactoring, and debugging, all of which are also thinking tools for the art of problem solving. We'll use this knowledge to explore our browsing history ...

  7. Introduction

    Welcome to the world of problem solving with Python! This first Orientation chapter will help you get started by guiding you through the process of installing Python on your computer. By the end of this chapter, you will be able to: Describe why Python is a useful computer language for problem solvers. Describe applications where Python is used.

  8. PDF Algorithmic Problem Solving with Python

    Contents 1 Introduction 1 1.1 Modern Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1 1.2 Computer Languages ...

  9. Python Programming: Problem Solving, Packages and Libraries

    This textbook on Python programming is meant for all interested people in Python- from beginners to those seeking to graduate to the advanced level, researchers, professionals, aspiring data analysts and data visualizers. Based on Python 3.X, the textbook covers the basic essential components in understanding of pythons and a dozen of Python libraries such as NumPy, SciPy, sympy, and pandas.

  10. Programming and Problem Solving using Python

    This textbook is designed to learn python programming from scratch. At the beginning of the book general problem solving concepts such as types of problems, difficulties in problem solving, and problem solving aspects are discussed.From this book, you will start learning the Python programming by knowing about the variables, constants, keywords, data types, indentation and various programming ...

  11. Problem Solving-and-Python-Programming Notes & Books

    UNIT I COMPUTATIONAL THINKING AND PROBLEM SOLVING. Fundamentals of Computing - Identification of Computational Problems-Algorithms, building blocks of algorithms (statements, state, control flow, functions), notation (pseudo code, flow chart, programming language), algorithmic problem solving, simple strategies for developing algorithms (iteration, recursion).

  12. PDF Introduction to Problem Solving and Programming in Python

    Course Description. CIS 1051 introduces students to computers, computer programming, and problem solving using programs written in the Python language. Topics covered include the general characteristics of computers; techniques of problem solving and algorithm specifications; and the implementation, debugging, and testing of computer programs.

  13. Lesson 3

    Lesson 3 - Problem solving techniques. In the last lesson, we learned control flow statements such as if-else and for. In this lesson, let us try to write a program for this problem: "Given a day, the program should print if it is a weekday or weekend.". $ python3 day_of_the_week.py monday. weekday. $ python3 day_of_the_week.py sunday. weekend.

  14. Problem Solving in Python

    Step 4 - Solving or Simplification. Once we have laid out the steps to solve the problem, we try to find the solution to the question. If the solution cannot be found, try to simplify the problem instead. The steps to simplify a problem are as follows: Find the core difficulty.

  15. How to think like a programmer

    Simplest means you know the answer (or are closer to that answer). After that, simplest means this sub-problem being solved doesn't depend on others being solved. Once you solved every sub-problem, connect the dots. Connecting all your "sub-solutions" will give you the solution to the original problem. Congratulations!

  16. Problem solving Aspects and Python Programming

    Problem solving Aspects and Python Programming. By Dr.S.Malliga, Dr.R.Thangarajan, Dr.S.V.Kogilavani | Kongu Engineering College. Learners enrolled: 8574. The first part of the course cover problem solving aspects. Problem solving is the most important skill in computer science. To become a good computer programmer, the student has to acquire ...

  17. Unit 1- notes

    1 SOLVING Problem solving is the systematic approach to define the problem and creating number of solutions. The problem solving process starts with the problem specifications and ends with a Correct program. 1 PROBLEM SOLVING TECHNIQUES Problem solving technique is a set of techniques that helps in providing logic for solving a problem ...

  18. GE3151 Problem Solving and Python Programming Lecture Notes 1

    GE3151 Problem Solving and Python Programming Lecture Notes 1 - Free download as PDF File (.pdf), Text File (.txt) or read online for free. Scribd is the world's largest social reading and publishing site.

  19. Problem Solving and Programming with Python

    of the Problem Solving and Python Programming syllabus offered by Anna University • Offers . simple. and . lucid. treatment of concepts supported with illustrations for easy understanding. • Contains . separate chapters. on Strings, Files, Classes, and Exception Handling. Preface. Problem Solving and Programming with Python.indb 5 14/06/18 ...

  20. PPS

    Learn how to Solve Real Programming Problems with a Focus on Teaching Problem Solving Skills. Understand Python as an Object Oriented and Functional Programming Language. Strictly mapped according to the syllabus of SPPU. Explained each and every point in very lucid and detailed way. when you complete our course you will be expert in python.

  21. Problem Solving and Programming with Python

    The second edition of Problem Solving and Programming with Python is designed as a textbook to meet the requirements of the Python programming course offered to the first year engineering students of Anna University. The book provides an introduction to the problem solving approaches and object oriented programming. It deals with the fundamentals and important features of Python language such ...

  22. Problem Solving with Python

    Website companion for the book Problem Solving with Python by Peter D. Kazarinoff

  23. Problem Solving and Python Programming (GE8151) Notes ...

    SYLLABUS. CLICK HERE. PREVIOUS POST Anna University Special Case - Nov/Dec 2022 Examinations. NEXT POST Anna University Internal Marks - UG/PG Examinations. Anna University MCQ Q&A, Notes, Question Bank, Question Paper for Problem Solving and Python Programming (GE8151) semester exams.

  24. Number of pairs

    Number of pairs | DSA Problem. Dive into the exploration of number pairs XY and YX with our enlightening tutorial! Understanding the concept of number pairs where XY equals YX is crucial for various mathematical and programming challenges. Mastering this concept enables you to efficiently identify such pairs and utilize them in problem-solving ...