17-Dec-03 Intro to CIT 594 ~matuszek/cit594.html.

Slides:



Advertisements
Similar presentations
Intro to CIT 594
Advertisements

CS112: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Blackboard – Piazza – Textbook Highlight.
10-Jun-15 About This Course. 2 MCIT Pizza 6:15 Thursday, Sept. 9 Levine 307.
Intro to CIT 594
1 Intro to CIT 594 ~matuszek/cit594.html.
Intro to CIT 594
June 13, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
CMSC 132: Object-Oriented Programming II
CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
CSc 160 Overview of Fundamentals of Computer Programming II Spring (SO1) 2004.
22-Jun-15 Labs, etc.. 2 Extra sessions Some of you are really new to computer programming, other have considerable experience I will have an extra weekly.
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
Intro to CIT 594 ~matuszek/cit594.html.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
Data Structures and Programming.  John Edgar2.
Intro to CIT 594
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
What you need to know about this class A powerpoint syllabus.
CS110/CS119 Introduction to Computing (Java)
Math 125 Statistics. About me  Nedjla Ougouag, PhD  Office: Room 702H  Ph: (312)   Homepage:
1 HCC Brandon Independent Study Orientation Power Point Instructor: Tiffany Cantrell.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
Welcome to CS 3260 Dennis A. Fairclough. Overview Course Canvas Web Site Course Materials Lab Assignments Homework Grading Exams Withdrawing from Class.
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
COMP Introduction to Programming Yi Hong May 13, 2015.
Lecture 1 Page 1 CS 111 Summer 2015 Introduction CS 111 Operating System Principles.
EECE 310 Software Engineering Lecture 0: Course Orientation.
2 September Statistics for Behavioral Scientists Psychology W1610x.
CSE 331 Software Design & Implementation Hal Perkins Autumn 2012 Lecture 0 – Course Introduction 1CSE 331 Au12 One handout up front!
1 My Experiences as Faculty Member and Researcher Dr. Kalim Qureshi.
Welcome to Physics 1403!!. Class Web Page! There, you can find: 1. Posted (MS Word format): Syllabus,
CS1201: Programming Language 2 C++(Course Introduction) Level 2 Nouf Aljaffan 1 st Term Nouf Aljaffan (C) CSC 1201 Course at KSU.
Catie Welsh January 10, 2011 MWF 1-1:50 pm Sitterson 014.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
Overview Algorithms Baojian Hua
Selected Topics in Information Technology Programming Language - JAVA Semester 1/2554.
“Good morning, and welcome to introduction to chemistry.” Not the real Mr. Cooper.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Introduction to Data Structures
1 WELCOME TO COMPUTER SCIENCE 1027b COMPUTER SCIENCE FUNDAMENTALS II Lecturers: Eric Schost (001) John Barron (002)
“Good morning, and welcome to introduction to chemistry.” Not the real Mr. Cooper.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
SE-2030 Software Engineering Tools and Practices SE-2030 Dr. Mark L. Hornick 1.
Intro to CIT 594
CSCE 1030 Computer Science 1 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
CS112: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Blackboard – Piazza – Textbook Highlight.
CSC 205 Java Programming II Introduction. Topics Syllabus Course goals and approach Review I Java language fundamentals.
Data Structures and Algorithms in Java AlaaEddin 2012.
Course Information CSE 2031 Fall Instructor U. T. Nguyen /new-yen/ Office: CSEB Office hours:  Tuesday,
Computer Engineering Department Islamic University of Gaza
CSc 1302 Principles of Computer Science II
Course Introduction – Fall 2014
CSc 020: Programming Concepts and Methodology II
Information Systems in Organizations Introduction instructor’s name
Information Systems in Organizations Introduction instructor’s name
CSE 331 Software Design & Implementation
Introduction to CS II Data Structures
Intro to CIT 594
EE422C Software Design and Implementation II
About This Course.
Automata and Formal Languages
First Semester 1439/1440 Welcome 
Course Information EECS 2031 Fall 2016.
CSCE 221 Professor Lupoli TAMU CSCE 221 Intro.
Orientation CSC 111.
Intro to CIT 594
Intro to CIT 594
Dr. David Matuszek Spring, 2003
CS Problem Solving and Object Oriented Programming Spring 2019
Presentation transcript:

17-Dec-03 Intro to CIT ~matuszek/cit594.html

2 Prerequisites The formal prerequisite is CIT 591 CIT 591 was primarily a course in Java If you did not take CIT You must be a reasonably good Java programmer, including programming applications, applets, and the AWT You are expected to have good Java programming style Other programming languages can not be used as a substitute for Java

3 What the course is about There are four main, interrelated topics in CIT594: Recursion Data structures Algorithms Analysis of algorithms In addition, we will continue to explore good programming practices Good programming style Good habits, such as creating test cases Use of tools, such as Eclipse and JUnit

4 Required textbook #1 Java Collections: An Introduction to Abstract Data Types, Data Structures and Algorithms, by David A. Watt and Deryck F. Brown There is another textbook entitled Java Collections, by a different author (John Zukowski). Be sure to get the correct book!

5 Required textbook #2 Data Structures & Algorithms in Java, Second Edition, by Robert Lafore This book has the clearest and most understandable explanations of algorithms that I have ever seen (and I’ve seen a lot of Data Structures textbooks!)

6 Recommended reading The next three books are not required for this course, so the campus bookstore probably won’t have them If you want them, you will probably have to special order them The campus bookstore may have some copies of the style book left over from last semester

7 Suggested reading I Essential Java 2 Fast, by John Cowell This is not a tutorial, but rather an extremely useful and concise reference This is my favorite Java book

8 Suggested reading II The Elements of Java Style, by Alan Vermeulen (ed.) This book describes the style that will be expected of you It contains material you should know from CIT 591 If you did not take CIT 591, you need this book

9 Just good reading The Pragmatic Programmer: From Journeyman to Master, by Andrew Hunt and David Thomas Full of excellent advice for practicing programmers We will not be using this book this semester

10 Java in this course This is a course in algorithms and data structures, not a second course in Java But... Java will be the primary programming language We will study Java Collections in detail, as they are extremely relevant to the course You will be expected to learn the Eclipse IDE

11 Eclipse Eclipse is an IDE, similar to BlueJ but much more powerful (and more complex) The major IDEs are all pretty similar; once you learn Eclipse, you will be able to pick up another IDE pretty quickly Advantages of Eclipse: Full-featured Free, open source Very well implemented Support for various refactorings Disadvantage: No special support for GUI building Uses SWT rather than Swing

12 Java Collections Java Collections implement many of the most important data structures for you A traditional data structures course would have you implement these yourself I don’t believe in re-inventing the wheel However, you need to know how these data structures are implemented, for the times when you need something more than Java gives you The Java Collections textbook is a good compromise between using what Java provides, and doing it yourself

13 Algorithms There are literally thousands of published algorithms We will cover: a few algorithms that are related to the data structures we are studying a few more algorithms that your instructor especially likes It’s usually better to find an existing algorithm than to re-invent it yourself The Data Structures & Algorithms in Java textbook is an excellent textbook for beginning data structures and algorithms, but it completely ignores Java’s collections

14 Analysis of algorithms Analysis of algorithms is a relatively small part of this course, but it’s an important part Analysis can tell you how fast an algorithm will run, and how much space it will require A good algorithm, even if badly coded, can run circles around a poor algorithm that is carefully tuned and highly optimized

Assignments Except as otherwise noted, all assignments: Are to be done solo (by yourself). As before, You may discuss the assignments with other students You may help (and get help with) debugging You may not give your source code to anyone Should be done in Eclipse Should include complete JUnit tests, and Should include complete javadoc documentation Late assignments will lose 5 points per day, and may not be accepted if more than a week late

16 Grading We will have: Approximately one assignment per week Three to five quizzes A final exam Grades will be curved We will use Blackboard to turn in assignments Grades will be weighted as follows: 50% assignments 30% quizzes 20% final exam If you feel a grading error has been made, you have one week after grades have been posted to bring it to our attention

17 Office hours and (no) labs I will be more available than last semester I will post office hours; these are the times that I will try hard to be in my office and available When my door is open, I’m probably available Please try to keep visits short The TA will also have office hours We will not have extra help sessions or labs this semester We will be doing all or almost all individual (solo) projects, but there may be some exceptions

18 The End