1 Intro to CIT 594 ~matuszek/cit594.html.

Slides:



Advertisements
Similar presentations
Intro to CIT 594
Advertisements

John Hurley Cal State LA
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
Intro to CIT 594
CS 331 / CMPE 334 – Intro to AI CS 531 / CMPE AI Course Outline.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Adrian Ilie COMP 14 Introduction to Programming Adrian Ilie Summer Session II, 2005 MTWRF 9:45-11:15 am.
CS 201: Introduction To Programming With Java
18-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.
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.
24-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 14 Introduction to Programming Miguel A. Otaduy Summer Session I, 2004 MTWRF 9:45-11:15 am Sitterson Hall 014.
26-Jun-15 Getting Ready for CIT Labs Lab is scheduled for 3;00-4:30 Fridays in Moore 207 Lab is not in Towne 309 (Registrar has it wrong) Everyone.
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
30-Jun-15 Getting Ready for CIT Labs Lab is scheduled for 1:30-3:00 Fridays in Moore 207 Lab is not in Towne 313 (Registrar has it wrong) Everyone.
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.
Intro to CIT 594
Computer Science 102 Data Structures and Algorithms V Fall 2009 Lecture 1: administrative details Professor: Evan Korth New York University 1.
Welcome to CompSci 100! As You Arrive… Make sure you grab a syllabus packet. Read through it. I will be covering the most essential points in my talk,
Introduction to C++ Penn State University
Math 125 Statistics. About me  Nedjla Ougouag, PhD  Office: Room 702H  Ph: (312)   Homepage:
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.
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.
Course ‘Data structures and algorithms – using Java’ Teaching materials and presentation experience Anastas Misev Institute of Informatics Faculty of Natural.
EEL4712 Digital Design. Instructor Dr. Greg Stitt Office Hours: TBD (Benton 323) Also, by appointment.
Catie Welsh January 10, 2011 MWF 1-1:50 pm Sitterson 014.
CSCI 51 Introduction to Computer Science Dr. Joshua Stough January 20, 2009.
17-Dec-03 Intro to CIT 594 ~matuszek/cit594.html.
8/19/2003CS 303 – Administrivia Lecture 0 1 Administrivia Labs Homework Grades Exams Quiz.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
Introduction to Data Structures
1 COP 2551 Introduction to Object-Oriented Programming using Java Getting Started.
Computer Science 102 Data Structures and Algorithms CSCI-UA.0102 Fall 2012 Lecture 1: administrative details Professor: Evan Korth New York University.
Lecture 1 Page 1 CS 111 Summer 2013 Introduction CS 111 Operating System Principles Peter Reiher.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
Lecture.1: Getting Started With Java Jiang (Jen) ZHENG May 9 th, 2005.
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.
Introduction to CIS Jan-16.
CS112: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Blackboard – Piazza – Textbook Highlight.
Data Structures and Algorithms in Java AlaaEddin 2012.
Introduction to CIT Mar-16.
IMS 4212: Course Introduction 1 Dr. Lawrence West, Management Dept., University of Central Florida ISM 4212 Dr. Larry West
CS140 – Computer Programming 1 Course Overview First Semester – Fall /1438 – 2016/2017 CS140 - Computer Programming 11.
Introduction to CSCI 1311 Dr. Mark C. Lewis
Course Overview - Database Systems
CS 202: Introduction To Object-Oriented Programming
Course Introduction – Fall 2014
Computer Science 102 Data Structures CSCI-UA
Algorithm Design and Analysis
Course Overview - Database Systems
Introduction to General Biology BI 101
Intro to CIT 594
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
About This Course.
Automata and Formal Languages
Algorithm Design and Analysis
Orientation CSC 111.
Intro to CIT 594
Intro to CIT 594
Dr. David Matuszek Spring, 2003
Introduction CSE 2320 – Algorithms and Data Structures
Presentation transcript:

1 Intro to CIT ~matuszek/cit594.html

2 Prerequisites The formal prerequisite is CIT 591 CIT 591 was primarily a course in Java You are expected to be a reasonably good Java programmer, including programming applications, applets, and the AWT You are expected to have good Java programming style, as well as knowledge of the language

3 What the course is about There are three main, interrelated topics in CIT594: –Data structures –Algorithms –Analysis of algorithms In addition, we will continue to explore what it means to be a “good” programmer

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

5 Secondary required textbook The Pragmatic Programmer: From Journeyman to Master, by Andrew Hunt and David Thomas

6 Recommended reading The next two 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 Not for beginners, but 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 The Java style book contains material you should know from CIT591; if you did not take CIT91, you need this book

9 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 Forté IDE

10 Forté Forté is an IDE, similar to BlueJ but much more powerful (and more complex) If you already know a good IDE, such as Visual Age or JBuilder, you may use it after using Forté for the first couple of assignments –It won’t hurt you to learn another IDE –I do not consider J++ to be a good IDE

11 Lisp We begin by studying the Lisp programming language Why? –Lisp is simply the best way to learn what linked lists (an important data structure) are all about –Programming in Lisp is the best way to learn to write recursive programs (recursion is an important technique for working with data structures)

12 Getting Lisp If you plan to run Lisp on your own computer, I recommend XLisp – language/lisp/index.htm –Click on CLisp (it’s a version of XLisp) –Download the file xlisp21h.zip –Unzip into an empty directory to install

13 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 textbook is a good compromise between using what Java provides, and doing it yourself

14 Algorithms There are thousands of 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 generally better to find an existing algorithm than to re-invent it yourself

15 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

16 Grading We will have: –Approximately one assignment per week –A quiz approximately every other week –No final exam –Grades will be curved –We will use Blackboard, at least initially But the first assignment is to be turned in on paper Weighting will be 50% quizzes, 50% assignments

17 Extra help I expect to have somewhat more time available than I did 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 I may schedule a lab session—if so, it will be optional

18 The End