Difference between revisions of "CSC212 Syllabus 2014"
(→Areas of Study) |
(→Topics) |
||
Line 62: | Line 62: | ||
* Basic GUI (Graphical User Interface) design | * Basic GUI (Graphical User Interface) design | ||
* Event-driven programming | * Event-driven programming | ||
− | |||
* Concepts of pointers, references and indirection. | * Concepts of pointers, references and indirection. | ||
* Theory and usage of fundamental data structures: | * Theory and usage of fundamental data structures: | ||
− | * Arrays | + | * Concepts of pointers, references and indirection. |
− | * Linked Lists | + | * Theory and usage of fundamental data structures: |
− | * Stacks | + | ** Arrays |
− | * Queues | + | ** Linked Lists |
− | * Hash Tables | + | ** Stacks |
− | * Heaps | + | ** Queues |
− | * Trees | + | ** Hash Tables |
− | * Graphs | + | ** Heaps |
− | * Searching and Sorting Algorithms | + | ** Trees |
− | * Recursion | + | ** Graphs |
+ | ** Searching and Sorting Algorithms | ||
+ | ** Recursion | ||
<br /> | <br /> |
Revision as of 12:41, 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.
- Theory and usage of fundamental data structures:
- Arrays
- Linked Lists
- Stacks
- Queues
- Hash Tables
- Heaps
- Trees
- Graphs
- Searching and Sorting Algorithms
- Recursion