Difference between revisions of "CSC212 Syllabus 2014"
(→Topics) |
(→Textbooks) |
||
Line 80: | Line 80: | ||
I recommend two books for this class: one covering Java, one covering data structures. | I recommend two books for this class: one covering Java, one covering data structures. | ||
− | For Data Structures: | + | ;For Data Structures: |
− | ''Data Structures and Algorithms in Java'' (2th Edition), by '''Adam Drozdek'''. This book is '''required'''. | + | :''Data Structures and Algorithms in Java'' (2th Edition), by '''Adam Drozdek'''. This book is '''required'''. |
− | For Java: | + | |
− | ''Head Frist Java.'', by '''Kathy Sierra''' and '''Bert Bates'''. This book is '''recommended,''' but you can substitute another Java reference if you prefer, as long as it supports your learning in the course. Plan to hang on to these books, so you can brush up your skills later on and teach yourself new ones. | + | ;For Java: |
+ | :''Head Frist Java.'', by '''Kathy Sierra''' and '''Bert Bates'''. This book is '''recommended,''' but you can substitute another Java reference if you prefer, as long as it supports your learning in the course. Plan to hang on to these books, so you can brush up your skills later on and teach yourself new ones. |
Revision as of 12:54, 28 August 2014
--D. Thiebaut (talk) 10:33, 18 July 2014 (EDT)
<meta name="keywords" content="computer science, assembly language, pentium, linux, programming" /> <meta name="description" content="Dominique Thiebaut's Web Page" /> <meta name="title" content="Dominique Thiebaut -- Computer Science" /> <meta name="abstract" content="Dominique Thiebaut's Computer Science Web pages" /> <meta name="author" content="thiebaut at cs.smith.edu" /> <meta name="distribution" content="Global" /> <meta name="revisit-after" content="10 days" /> <meta name="copyright" content="(c) D. Thiebaut 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,2008,2009,2010,2011,2014" /> <meta name="robots" content="FOLLOW,INDEX" />
Data Structures in Java
CSC 212, Fall 2014
(http://cs.smith.edu/dftwiki/index.php/CSC212_Syllabus_2014)
|
Professor
Dominique Thiébaut |
Go to the class Class Homepage for exercises, demo programs, and misc. information.
If you are interested in what textbooks will be using in this class, there are two:
- Required: Drozdek's Data Structures and Algorithms in Java. (2nd or 3rd Ed.). Either the book or the electronic version are fine. It's a very expensive book, but one that will be a good reference to keep.
- Recommended: Sierran and Bates' Head Frist Java.
Course Description and Overview
CSC 212 is a required programming course in the Computer Science major sequence. It addresses more advanced programming techniques using the Java programming language, and will examine in detail a selection of useful data structures. While the projects in the course will examine the minutiae of specific programming tasks, we also aim to develop a global understanding of the art of programming. Group discussion and sharing of ideas will support this endeavor. Along the way we will also learn some additional useful tricks with the Unix operating system.
This is a programming intensive course. There are weekly lab and homework assignments and a final programming project, totaling 70% of the grade. It is imperative that you do not fall behind in the assignments because this most often proves unrecoverable and leads to dropping the course. Many resources (professor, TA hours, textbook, Web) are available to assist you in completing the coursework, and you are expected to take advantage of them. This applies regardless of how well you are performing: even excellent programmers have room for further improvement. The programming assignments cover practical aspects of the course material, and two exams (in-class midterm and take-home final) will test both theoretical and practical aspects of the concepts presented.
Topics
- Object-oriented programming in Java.
- Basic GUI (Graphical User Interface) design
- Event-driven programming
- Concepts of pointers, references and indirection.
- Theory and usage of fundamental data structures:
- Concepts of pointers, references and indirection.
- Arrays
- Linked Lists
- Stacks
- Queues
- Hash Tables
- Heaps
- Trees
- Graphs
- Searching and Sorting Algorithms
- Recursion
Textbooks
I recommend two books for this class: one covering Java, one covering data structures.
- For Data Structures
- Data Structures and Algorithms in Java (2th Edition), by Adam Drozdek. This book is required.
- For Java
- Head Frist Java., by Kathy Sierra and Bert Bates. This book is recommended, but you can substitute another Java reference if you prefer, as long as it supports your learning in the course. Plan to hang on to these books, so you can brush up your skills later on and teach yourself new ones.