Intro to CIT 594

Slides:



Advertisements
Similar presentations
CS112: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Blackboard – Piazza – Textbook Highlight.
Advertisements

Intro to CIT 594
1 Intro to CIT 594 ~matuszek/cit594.html.
Intro to CIT 594
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.
COMP171 Data Structures and Algorithm Huamin Qu Lecture 1 (Sept. 1, 2005)
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.
OBJECT ORIENTED PROGRAMMING I LECTURE 1 GEORGE KOUTSOGIANNAKIS
COMP171 Data Structures and Algorithm Qiang Yang Lecture 1 ( Fall 2006)
COMP 110 Introduction to Programming Jingdan Zhang June 20, 2007 MTWRF 9:45-11:15 am Sitterson Hall 014.
COMP 110 Introduction to Programming Mr. Joshua Stough August 22, 2007 Monday/Wednesday/Friday 3:00-4:15 Gardner Hall 307.
ECE200 – Computer Organization Course Introduction.
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.
Technology Day May 5, 2012 Dawn Cox Best practices for new instructors.
Introduction to Programming Environments for Secondary Education CS 1140 Dr. Ben Schafer Department of Computer Science.
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,
Welcome to CS 115! Introduction to Programming. Class URL Please write this down!
What you need to know about this class A powerpoint syllabus.
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. ??
CSE 501N Fall ‘09 00: Introduction 27 August 2009 Nick Leidenfrost.
COMP Introduction to Programming Yi Hong May 13, 2015.
EECE 310 Software Engineering Lecture 0: Course Orientation.
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
ECEN 301Discussion #1 – Syllabus1 All Sections MWF 1:00 – 1:50 PM 256 CB Lecture: MW Recitation: F Labs: M or Th Instructor: Prof. David Long Office: CB.
1 Project Information and Acceptance Testing Integrating Your Code Final Code Submission Acceptance Testing Other Advice and Reminders.
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.
Welcome to CS 221! First Course in Computer Science for Engineers.
Introduction to Databases Computer Science 557 September 2007 Instructor: Joe Bockhorst University of Wisconsin - Milwaukee.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
1 Principles of Computer Science I Note Set 1 CSE 1341.
Introduction to Data Structures
CSEP 545 Transaction Processing for E-Commerce Course Information Spring (March – May) 2007.
Principles of Computer Science I Honors Section Note Set 1 CSE 1341 – H 1.
June 19, Liang-Jun Zhang MTWRF 9:45-11:15 am Sitterson Hall 011 Comp 110 Introduction to Programming.
IST 210: Organization of Data
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.
1 CS 101 Today’s class will begin about 5 minutes late We will discuss the lab scheduling problems once class starts.
CMSC 2021 CMSC 202 Computer Science II for Majors Spring 2002 Sections Ms. Susan Mitchell.
Introduction to CIS Jan-16.
Syllabus Highlights CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
CS112: Course Overview George Mason University. Today’s topics Go over the syllabus Go over resources – Marmoset – Blackboard – Piazza – Textbook Highlight.
James Tam Introduction To CPSC 233 James Tam Java Object-Orientation Graphical-user interfaces.
Course Info Instructor U.T. Nguyen Office: CSEB Office hours: Tuesday, 14:30-15:30 Thursday, 12:00-12:45 By.
Data Structures and Algorithms in Java AlaaEddin 2012.
Computer Networks CNT5106C
Course Information CSE 2031 Fall Instructor U. T. Nguyen /new-yen/ Office: CSEB Office hours:  Tuesday,
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
Introduction to CIT Mar-16.
Course Information CSE 2031 Fall Instructor U.T. Nguyen Office: CSE Home page:
CSc 120 Introduction to Computer Programing II
CS101 Computer Programming I
Computer Networks CNT5106C
Welcome to CS 1010! Algorithmic Problem Solving.
Computer Networks CNT5106C
Welcome to CS 1010! Algorithmic Problem Solving.
Welcome to CS 1301! Principles of Programming I.
Intro to CIT 594
EE422C Software Design and Implementation II
Accelerated Introduction to Computer Science
Intro to CIT 594
Intro to CIT 594
Computer Networks CNT5106C
Presentation transcript:

Intro to CIT 594

2 Prerequisites The prerequisite is CIT 591 CIT 590 can also be used CIT 591 was a course in Python and Java We will continue using Java (and maybe get to Scala?) If you did not take CIT You must already know Java, including Swing You must be familiar with, or prepared to learn quickly: JUnit testing The Eclipse IDE You are expected to have good Java programming style Knowing C++ is not a substitute for knowing Java

3 What the course is about There are five main, interrelated topics in CIT594: Recursion Data structures Algorithms Analysis of algorithms Concurrency We will continue to explore good programming techniques and programming style It will also be necessary to cover more Java

Required Textbook This book is by one of the authors of the most widely used algorithms textbook (the latter is more like an encyclopedia) If you are taking CIT 596, the chapters on graph algorithms and on intractable and incomputable problems will also be useful

Recommended Textbook This book has good coverage of many of the data structures and algorithms that we will be using The book is intended to supplement my lectures There are many similar books that will do equally well

Recommended reading  This is an excellent self-study book for anyone who wants a technical position

Canvas and Piazza  Canvas is designed to be a“complete course solution”that holds everything about a course  But we will use Canvas only for submitting assignments and posting grades on those assignments  When an assignment consists of more than one file, zip the files together into a single file  Piazza is a web site in which you can ask and answer questions about this course  Piazza is usually much faster than waiting to see or me or one of the TAs  To encourage use, you can get bonus points being a “good citizen” and providing good answers and helpful tips  Use good grammar  Don’t post solutions to assignments

8 Java Collections The Java Collection hierarchy (in java.util ) implements many of the most important data structures for you You need to know what these data structures are, when to use them, and how they are implemented There are also important data structures that the Java Collection hierarchy does not provide You need to be able to implement these data structures You need to be able to devise and implement data structures that are specific to your current problem

9 Algorithms An algorithm is: A well-defined, step-by-step procedure That is guaranteed to terminate There are literally thousands of published algorithms We will cover some of the algorithms from the textbook It’s almost always better to find an existing algorithm than to re-invent it yourself Always reference your sources

10 Analysis of algorithms Analysis of algorithms is a relatively small part of this course, but it’s an important part Most of the time, programming efficiency is the wrong goal—you should be making your programs clearer, not faster But sometimes your program is too slow, or it is part of an application where speed is critical Besides, using well-known algorithms often make your program easier to understand Analysis can tell you how fast an algorithm will run, and how much space it will require When speed is important, a proper choice of algorithm is essential Coding details matter almost not at all

Assignments Except as otherwise noted, all assignments: Should be done in Eclipse Should include complete JUnit tests for non-GUI, non-I/O methods, and Should include complete javadoc documentation for non-private entities Must be submitted via Canvas; will not be accepted and may be discarded without comment There may (or may not) be some team assignments Partners may be assigned by the instructor We do not have a laboratory section You will do most or all assignments by yourself 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

Late days Late assignments will lose 5 points each day that they are late However, each person can take up to 7 free “late days” To claim late days for an assignment: Send me specifying which assignment and how many late days you are requesting for it You can do this either before or shortly after submitting your assignment, but not several days or weeks later, and certainly not after we’ve graded it The following are not requirements, but will make it easier for me to keep track of things: Specify assignments by name, not just by number (I don’t remember assignments by their numbers) Use something like “CIT 594 late days” in the Subject: line of your Please avoid changing a request after you have made it Please don’t ask for any additional late days (unless you have health problems or serious family emergencies) The last assignment of the semester may have a “hard” deadline closer than the number of late days you have remaining

13 Grading We will have: Approximately one assignment per week One midterm One final exam Grades will be curved We will use Blackboard to turn in assignments Grades will be weighted as follows: 50% assignments 20% midterm 30% 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

14 Office hours and (no) labs I avoid making appointments I will have office hours 2:00-4:00 on Tuesdays and Thursdays, but......I have an open door policy: If my door is open, I’m available The TAs will also have office hours We will not have labs or extra help sessions this semester

15 The End