1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Hi Guest, welcome to the TES Community!

    Connect with like-minded education professionals and have your say on the issues that matter to you.

    Don't forget to look at the how to guide.

    Dismiss Notice

Python Books

Discussion in 'Computing and ICT' started by ChumChumz, Dec 1, 2016.

  1. ChumChumz

    ChumChumz New commenter

    Hi, I started teaching CS ocr 9-1 in September with very small programming knowledge. Since September i have learnt a bit of python, vb and JavaScript. all being taught at the same time.

    I use school resources and online tutorials and videos. As my gcse class are advancing, i need to advance before them so i know what they are doing.
    We use codio.com to program and i am looking for python programming books to use myself. I would really like to try and do some programming and learn and online websites are good, but i believe books can be good to go through and have.

    Can someone recommend python books that are good for beginners. i can ask my HOD to buy it for me.
  2. binaryhex

    binaryhex Lead commenter

    The quickest way would be to search YouTube for 'beginner Python' and take your pick of video tutorials. The CAS website has lots of student workbooks, which you can work through first before asking students to do them. Google 'free Python books' and 'Python tutorials' for links to many Resources e.g.


    Recommendations are hard as everyone is different. Wow, hats off to you if you are trying to learn and teach Python, VB and JS all at the same time! It took me years to feel confident enough to teach any of them.
    ChumChumz and wanet like this.
  3. JaquesJaquesLiverot

    JaquesJaquesLiverot Established commenter

    I'm not that keen on books myself - unless they're reference books. The problem is that they only tell you what they want you to learn, in the order that they want you to learn it, and you tend to end up skipping around and only reading half of them.

    Also, books tend to tell you more about syntax, and lots of techniques (such as using modular arithmetic) are language-independent.

    You might be better thinking about things that you might want to make (you could start by making things to help with the National Curriculum, e.g. binary conversion), and then using blogs, YouTube, StackOverflow, etc. to help you make them.

    I've made a list of my Top Ten Programming Techniques (with links to examples) if that would help to give you some ideas.
  4. ChumChumz

    ChumChumz New commenter

    BINARYHEX- appreciate your reply.

    Thankfully vb and javascript are for enrichment classes; so knowing the basics is good enough to teach for 6 weeks.

    but python, it's going to be used by gcse classes, hence the need to learn more.
  5. theworm123

    theworm123 Lead commenter

    O'Reilly books are the best in my experience, though they are more reference than teaching books.
    wanet likes this.
  6. binaryhex

    binaryhex Lead commenter

    A lot of the teaching for Python at KS4 should involve drilling students in the syntax and techniques, so that they do lots and lots of problems focusing on one area in each lesson, before moving on to the next. Writing code should begin with problem analysis of some kind, trying to get students to think about how to break down a problem, trying to get them to think about the parts to a solution and then making some kind of plan, even if it is just getting them to write a list of steps to a solution that will solve the problem they are working on. Painful as it is, it is good for them in the long run. Workbooks are good for this because they can be designed to focus on one area, with differentiated exercises, students can work at their own pace, you have time to get round students and help individuals and you also have something to look at for assessment & tracking purposes. You will also need to work on getting students to help themselves when they get stuck, rather than just sticking their hand up and waiting for you. Textbooks are ideal as reference sources and for those students who need extra work but there are some really good free ebooks around.
  7. madcat

    madcat Occasional commenter

    As others have said if you have a decent set of analytical skills, then one of the most effective ways of learning a new programming language is to do small projects and snippets.
    I tend to use StackOverflow and a text The Python cookbook then try out snippets of code in one of the coding playground sites.
    My current task ?
    Finding the number of Saturdays between two user input dates (inclusive) - don't ask
  8. moscowbore

    moscowbore Star commenter

    Just think how this thread would look if this was a maths teacher looking for a book on long division.

    This thread completely sums up why Computer Science is doomed.

    Utterly disgusted.
    T0nyGT and theworm123 like this.
  9. binaryhex

    binaryhex Lead commenter

    Yes and the situation won't change. Schools are really struggling to recruit because there are too few computer scientists being trained who are willing to work for peanuts, schools won't pay decent money and don't appreciate that Computer Science needs teachers to have a lot more free time than other subjects as they have so much more self-teaching to do each year. There are still many schools making it as difficult as possible to recruit such as making candidates have interviews by pupils and not paying relocation or recruitment allowances, prefering instead to pay head teachers hundreds of thousands of pounds each year.

    As a subject, I think many schools have already realised Computer Science is dying. It's just a question of how long and how painful the death is.
  10. gigaswitch1

    gigaswitch1 Occasional commenter

    I really am sick of hearing that you have to be a CS grad to teach this subject. I went to one of of those 'new' type of unis. I didn't do CS, I did IT and I am thankful I did. The CS lot did everything we did, but they spent only a third on programming. Part of their course was making a speadsheet and a picture in Photoshop(I jest not). Some of the CS grads from my wonderful uni passed the course with knowing less programming than I do. I still talk to one of them and I asked him for help on floating point and big O, he asked me what they are!!!!!

    This subject wont die because of the lack of CS teachers. It will die because the old ICT teacher wont spend the shed load of time like I did reading books about OS, logic and wasting hours on multiple books that taught the same skill but in different ways(I want to keep my job for the next 20 years).

    This is my latest book(Data Structures and Algorithms Made Easy in Java: Data Structure and Algorithmic Puzzles)
    , is it easy, no it is bloody hard to do it in my own time, but I have a better understanding of big O and data structures for when I teach them. To the point that I am probably doing more than most undergrads in the 'new' type of unis.
    NeitherMouseNorSock and wanet like this.
  11. moscowbore

    moscowbore Star commenter

    Dear shellscript,
    I would never attempt to teach Russian. I know nothing about Russian. Why would a school ask me to teach Russian if I knew nothing about it? Why would I accept a job teaching Russian? Even if I got a really good book about Russian it can not be possible for me to even approach being able to teach it well. How would the parents of the students I am teaching feel if the truth was revealed?

    For my current job, I spent an hour doing an A level past paper as part of the interview. I am all in favour of this. How many of the posters on this forum would shiver at the prospect?

    Poor teaching of Computer Science is the norm in my experience. It is not just about lack of programming.

    I disagree. the subject will die because of the lack of teachers. ICT teachers are not up to the job, in my experience.
  12. mkl446

    mkl446 New commenter

    I have a selection of resources available on my account which are free :)
  13. gigaswitch1

    gigaswitch1 Occasional commenter

    Unless I am mistaken, when you do a language, you don't have to learn about the country to pass the qualification. Making an analogy with a foreign language is incorrect considering 40% of the CS qualification is about the computer system.

    Where knowledge of CS is concerned to make you a good teacher. I think everyone of us would agree, university lectures, in general, don't make very good teachers but their knowledge of Computing is very good.
  14. theworm123

    theworm123 Lead commenter

    Not necessarily, many lecturers hold PGCE or PGCHE certificates nowadays.
  15. harpplayer

    harpplayer Occasional commenter

    From what I've see so far and looking at the qualifications, it seems a lot of people such as exam boards are in denial. There is a recruitment crisis it seems, but just training up more cheap graduates as computing teachers will not solve this. The pay offered is too poor to keep anyone in post for long so they are wasting money training them, but most importantly, the GCSE and A Level look dreadful. I can't believe that anyone thinks the GCSE is right - far too much content to study in two years and it still has coursework, which just like the ICT GCSE before it, will be easy to cheat in. If you are an average student, this course will be difficult. The A Level is now better described as a University foundation course - too many difficult topics way above most students' level. I can see many schools dropping these courses if there isn't serious change quickly, perhaps doing the nice and easy ICT ECDL instead.
  16. JaquesJaquesLiverot

    JaquesJaquesLiverot Established commenter

    Have degree standards really declined that much? I've mentioned before that when I was at school in the 80s, normalising floating-point binary, De Morgan's Laws, half- and full-adders, bitwise manipulation (masking, etc.), representing negative numbers, etc., were considered to be CSE (i.e. Foundation-level GCSE) standard, and a lot of things in the A level seem to be repeated from the current GCSE, e.g. programming constructs, variables, use of IDEs, identifying inputs and outputs, Boolean logic, etc.

    That doesn't leave too much, and you need to add something to differentiate the course from the GCSE, especially when students are doing differential equations, etc., in other subjects. You also need to remember that not all topics should be accessible to all students - they haven't all got an automatic right to an A*.

    I think that part of the problem with the perception of these courses is that ICT has been ridiculously easy in recent years. I thought that the current GCSEs in Computing were too easy compared with what I do at KS3.
  17. theworm123

    theworm123 Lead commenter

    Half/full adders and De Morgan's Law are still covered by universities in Computer Systems Fundementals, many universities don't ask for pre-requisite qualifications.

    They also assume zero prior knowledge, that is how far quality has sunk. Before I started university I was a hobbyist programmer so I had an understanding of CS principles and programming.
  18. tjra

    tjra Occasional commenter

    This is a completely valid point but is quite tricky with mixed ability Computing classes. In Maths and Science the whole year group does it so they have sets (and some sets will simply never learn about quadratic equations, I expect). In subjects like History, the more able students will be able to analyse and explain in more depth. They are all taught the same content but what they do with it is key.

    In Computing we have a broad range of topics but we'd be doing the students a disservice if we didn't try to cover all of them. There isn't much in the way of 'deeper thinking' beyond problem solving though - there's usually only one long question linked to something like ethics or the wider world.
  19. binaryhex

    binaryhex Lead commenter

    A few years ago, the KS4 and KS5 ICT courses I taught were accessible to all. Yes, they were far too easy, yes the coursework was a disgraceful joke and far too easy to cheat in, but the courses were doable with large, mixed ability classes, even if they had become rubbish courses. The Computing courses were also doable back then because they generally attracted good to excellent students - teachers could 'encourage' those who weren't going to cope to do ICT and classes were smaller.

    Lots of things seem to have changed. Without any reasonable ICT courses left, more students are doing Computer Science, creating large, very mixed ability classes. These are an absolute nightmare to teach. Certainly the OCR specifications and I guess the other exam boards have clearly said that no prior knowledge is required to take the courses, then designed courses built on prior knowledge! Regardless of the content, the volume of topics is just crazy - impossible to teach without constantly rushing, and that puts all students off except the brightest, and that leads to behaviour problems with the weak students. There are serious recruitment problems, not enough Computer Science teachers, too many ICT teachers teaching a subject they struggle with, pay that frankly is very poor now, and workload issues - Heads have no understanding how much constant self-teaching Computer Science teachers have to do just to keep their knowledge fresh and to learn new stuff the exam boards put in coursework.

    The nature of students has changed since I did Computer Science O Level 35 years ago! Students expect / need to be spoonfed. They cannot cope with independent learning. They and their teachers have far more pressures, far more commitments, far more targets and teachers not students are responsible if students don't reach their often unreasonable target grades. The 'difficult' topics are potentially possible to teach but given all these issues, they are way above the vast majority of students now.

    The solution? Realistically there isn't one. It would need 30% of topics to be removed from the GCSE and A Level, the abolition of coursework completely or at the very least, for exam boards to mark them, the average pay of Computer Science teachers to be in the £40k area to attract and retain quality CS teachers, workload issues (duties, data generation, reports, meetings etc) to be significicantly cut back and a Foundation Level CS course and GCSE ICT course to be introduced. None of these things will ever happen.

    This is why Compter Science in schools is now fu**** and why Heads have started to get rid of CS completely.
    Last edited: Dec 7, 2016
  20. T0nyGT

    T0nyGT Lead commenter

    To add to the discussion, it is a sad state of affairs when people are in the OP's position, asking for books to be able to stay a couple of lessons ahead of the students. It's not OP's fault, but the fault of a system that pushes people with no knowledge of Computer Science in to teaching it from a completely different subject (ICT).

    My training was in IT, but it took me at least a couple of years pouring over the syllabus and creating resources before I was knowledgeable to teach CS.

    The problem is, who else is going to teach it? When you're offering peanuts and god-awful working conditions, no Computer Science graduates worth their salt are going to be interested in teaching it in a UK state school.

Share This Page