Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

Computer Science - 1st year book list / which programming language to prepare?

  • 25-07-2010 8:09pm
    #1
    Registered Users, Registered Users 2 Posts: 2,815 ✭✭✭


    I'm hoping someone can tell me which programming language it would be useful for a beginner to have some knowledge of prior to starting Computer Science TR033?

    It has already been recommended to me that PHP or Perl might be the way to go, but I would like some more people to weigh in, and if the answer is indeed PHP or Perl, which one?

    Also, is there anywhere I can get the book/reading list for 1st year, 2009/2010 I'm sure would even suffice.


Comments

  • Registered Users, Registered Users 2 Posts: 3,536 ✭✭✭Mark200


    Neither of those are done in first year.

    Java is the main programming language done in first year, but it's taught from the very basics so it's not necessary at all to have any prior knowledge. I think maybe a knowledge of programming in general would be more useful than just concentrating on Java.

    For reading.... Digital Design by Mano is the book that will be used most. It's in the Digital Logic Design subject. That subject is taught practically straight from the book. There's no need to go buying anything yet... the lecturers will tell you what the story is with books, and if they don't you can just ask them. Digital Logic was the only one that I actually bought the book for.. the rest I just got out of the library whenever I needed them.


  • Registered Users, Registered Users 2 Posts: 2,815 ✭✭✭runswithascript


    Mark200 wrote: »
    Neither of those are done in first year.

    Java is the main programming language done in first year, but it's taught from the very basics so it's not necessary at all to have any prior knowledge. I think maybe a knowledge of programming in general would be more useful than just concentrating on Java.

    For reading.... Digital Design by Mano is the book that will be used most. It's in the Digital Logic Design subject. That subject is taught practically straight from the book. There's no need to go buying anything yet... the lecturers will tell you what the story is with books, and if they don't you can just ask them. Digital Logic was the only one that I actually bought the book for.. the rest I just got out of the library whenever I needed them.

    I may not get in for this September, in which case I'll have another year before I will get in, and I'd like to spend that time learning about programming from books and practically. Is there a language you would suggest?


  • Registered Users, Registered Users 2 Posts: 3,357 ✭✭✭snappieT


    If you have a solid grounding in C++ you'll be served very well. Deitel & Deitel is a great book to learn from (don't get scared by the pagecount). While you don't study C++ until second year, if you go into the course with a reasonable understanding of C++, you'll be set.

    Digital Logic Design uses "Digital Design" by Mano, as had been said.

    For Electrotech/Telecommunications, any Leaving Cert physics book (focus on electricity and signals/waves) will do for the first half of the class, and Forouzan's book is excellent for the telecomms side of things. I bought it back in first year and I'm still using it today (postgrad now).


  • Closed Accounts Posts: 103 ✭✭KamikazeBananze


    Forouzan got me through Electrotech, I'm not too proud to say.

    In my opinion, Mano is one of the most well-written books you're asked to read. It's clear and concise. The only difficulty is that it doesn't cover one topic that you're asked to do.

    In my opinion, don't really bother learning Java. You'll be taught it eventually. If you put in some extra time outside of lectures, and get a good handle on it, you'll be fine.

    C++ and C are only taught in second year, but getting a good idea of how they work is better to have sooner rather than later. Pointers in C are a very important topic, as far as I can remember.

    Maths pretty much requires you to remember basic logic and linear algebra and matrices from Leaving Cert Maths.

    Last year's booklists are here: http://www.scss.tcd.ie/undergraduate/ba/current/junior-freshman.php

    In case you can't access them:
    • Mathematics I:
      • A Logical Approach To Discrete Math, by D. Gries & F. B. Schneider (also used in Third Year)
      • Science of Programming, by David Gries
      • Program Construction, by Roland Backhouse
      • Algorithmics, by David Harel
    • Mathematics II:
      • Elementary Linear Algebra, by Howard Anton and Chris Rorres
      • Linear Algebra, by J. Hefferon
      • Elementary Linear Algebra, by K.R. Matthews (chapter 1 only, available at http://www.numbertheory.org/book/)
      • Mathematical Methods for Scientists and Engineers, by D. A. McQuarrie
      • Engineering Mathematics through Applications, by K. Singh
    • Introduction to Programming I:
      • Learning to Program the Object-Oriented Way with Java, by Vinny Cahill (will be given to you during the first lecture)
    • Introduction to Programming II:
      • Java How to Program: Early Objects Version, Eight Edition, by Harvey M. Deitel and Paul J. Deitel (snappiet mentioned another book by these guys)
      • Algorithmics The Sprit of Computing ,Third Edition, by David Harel with Yishai Feldman (pretty sure this is the same book as the one suggested for Maths I)
      • Schaum’s Outline of Theory and Problems of Programming with Java, Second Edition, by L. Ron John R. Hubbard
    • Programming Project: seems you guys'll be doing Processing for this one, so that's something to learn. Your bibliography is the Processing website, to be used in case you get stuck.
    • Introduction to Computing I and II:
      • ARM Assembly Language: Fundamentals and Techniques, by William Hohl (this is the recommended text, so I won't list the additional ones)
    • Digital Logic Design I and II:
      • Digital Design, by Maurice M. Mano (as previously mentioned, a good book)
    • Electrotechnology:
      • Introductory Circuit Analysis, by Robert Boylestad (he says on the list that there are two recommended texts, but only lists this one)
    • Telecommunications I:
      • Data Communications and Networking, by Behrouz Forouzan (already mentioned; also, this reads almost identically to the Electrotechnology sheet, and includes the first book, and this one)
    • Computers and Society:
      • Computerization and Controversy - Value Conflicts and Social Choices (2nd Edition), edited by R. Kling
      • The Victorian Internet: the remarkable story of the telegraph and the
        nineteenth century's online pioneers, by Tom Standage
      • Being Digital, by N. Negroponte

    So, in short: learn some ARM, learn a bit of Java, get some C and C++ under your belt, have a leaf through Mano, and remember your Leaving Cert (or even Junior Cert) electrical physics and logic-, algebra-, and matrices-based maths.


  • Registered Users, Registered Users 2 Posts: 255 ✭✭boblong


    Engineering Circuit Analysis by William H. Hayt et al. is a fantastic book for the electrotech term. Its complete overkill and not at all necessary to pass the module, but a great resource nonetheless. One of the best books in programming is "Structure and Interpretation of Computer Programs" (SICP) which uses the functional programming language Scheme. Again this is not at all necessary, and I don't believe we cover Scheme in the course, but it is fantastic to read if you have time.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 2,815 ✭✭✭runswithascript


    Thank you all.


  • Registered Users, Registered Users 2 Posts: 12 logic101


    Forouzan got me through Electrotech, I'm not too proud to say.

    In my opinion, Mano is one of the most well-written books you're asked to read. It's clear and concise. The only difficulty is that it doesn't cover one topic that you're asked to do.

    In my opinion, don't really bother learning Java. You'll be taught it eventually. If you put in some extra time outside of lectures, and get a good handle on it, you'll be fine.

    C++ and C are only taught in second year, but getting a good idea of how they work is better to have sooner rather than later. Pointers in C are a very important topic, as far as I can remember.

    Maths pretty much requires you to remember basic logic and linear algebra and matrices from Leaving Cert Maths.

    Last year's booklists are here: http://www.scss.tcd.ie/undergraduate/ba/current/junior-freshman.php

    In case you can't access them:
    • Mathematics I:
      • A Logical Approach To Discrete Math, by D. Gries & F. B. Schneider (also used in Third Year)
      • Science of Programming, by David Gries
      • Program Construction, by Roland Backhouse
      • Algorithmics, by David Harel
    • Mathematics II:
      • Elementary Linear Algebra, by Howard Anton and Chris Rorres
      • Linear Algebra, by J. Hefferon
      • Elementary Linear Algebra, by K.R. Matthews (chapter 1 only, available at http://www.numbertheory.org/book/)
      • Mathematical Methods for Scientists and Engineers, by D. A. McQuarrie
      • Engineering Mathematics through Applications, by K. Singh
    • Introduction to Programming I:
      • Learning to Program the Object-Oriented Way with Java, by Vinny Cahill (will be given to you during the first lecture)
    • Introduction to Programming II:
      • Java How to Program: Early Objects Version, Eight Edition, by Harvey M. Deitel and Paul J. Deitel (snappiet mentioned another book by these guys)
      • Algorithmics The Sprit of Computing ,Third Edition, by David Harel with Yishai Feldman (pretty sure this is the same book as the one suggested for Maths I)
      • Schaum’s Outline of Theory and Problems of Programming with Java, Second Edition, by L. Ron John R. Hubbard
    • Programming Project: seems you guys'll be doing Processing for this one, so that's something to learn. Your bibliography is the Processing website, to be used in case you get stuck.
    • Introduction to Computing I and II:
      • ARM Assembly Language: Fundamentals and Techniques, by William Hohl (this is the recommended text, so I won't list the additional ones)
    • Digital Logic Design I and II:
      • Digital Design, by Maurice M. Mano (as previously mentioned, a good book)
    • Electrotechnology:
      • Introductory Circuit Analysis, by Robert Boylestad (he says on the list that there are two recommended texts, but only lists this one)
    • Telecommunications I:
      • Data Communications and Networking, by Behrouz Forouzan (already mentioned; also, this reads almost identically to the Electrotechnology sheet, and includes the first book, and this one)
    • Computers and Society:
      • Computerization and Controversy - Value Conflicts and Social Choices (2nd Edition), edited by R. Kling
      • The Victorian Internet: the remarkable story of the telegraph and the
        nineteenth century's online pioneers, by Tom Standage
      • Being Digital, by N. Negroponte
    So, in short: learn some ARM, learn a bit of Java, get some C and C++ under your belt, have a leaf through Mano, and remember your Leaving Cert (or even Junior Cert) electrical physics and logic-, algebra-, and matrices-based maths.
    please how many hours per week are the lectures in the first year


  • Registered Users, Registered Users 2 Posts: 3,357 ✭✭✭snappieT


    logic101 wrote: »
    please how many hours per week are the lectures in the first year

    This year's 1st year timetable should give you a pretty accurate idea. I count 27 hours a week for the first term, but chances are you'll get split up for some of the labs and only sit them every other week.


  • Closed Accounts Posts: 285 ✭✭Plebs


    I'd learn something fun. Like Python.

    You'll do plenty of C++/Java.

    My fav static language is C. Dynamic language: Perl.


Advertisement