IT2413 Programming I INSTRUCTOR: OFFICE PHONE: OFFICE HOURS: OFFICE: E-MAIL: PREREQUISITE: IT 1413 (or a first programming course in Java) and Math 1513 or permission of department TEXT AND MATERIALS: Textbook: JAVA How to Program, 7th Edition (Pearson/Prentice Hall). 0-13-222220-5 (2007) by Deitel and Deitel Supplies: if you want to work at home and in the university lab, you will probably require a USB flash drive (sometimes known as a jump drive) access to a Java IDE or Java application development system access to a program that will perform archiving and “un-archiving” (a ZIP program) CATALOG COURSE DESCRIPTION: 2413* PROGRAMMING II, 3 hours credit The second course in computer programming using an Object Oriented approach. Topics include: programming in the GUI environment, Classes, Objects, fast sorts, Abstract Data Types, Strings, recursion, and file processing. Lecture 3 hours. Prerequisite: IT 1413. EXPANDED COURSE DESCRIPTION 2413* PROGRAMMING II, 3 hours credit This course is a 2nd course in the computer programming sequence. When you complete this course successfully, you will have gained skills and knowledge that will be roughly equivalent to moving to the skills of an intermediate level programmer. We will follow the ACM curriculum guides that are used by most universities worldwide and are considered an international standard. Also, this course will continue to introduce the programming language JAVA. This instruction will also be directed at an expansion of previous exposure to object-oriented programming (OOP). Initially, there will be a section that reviews the fundamental algorithms and Java concepts such as assignment statements, input-output, if statements, loops, methods (called functions in C++), classes, objects, and arrays. After this, we will consider various other Java concepts including the Java GUI, Object-Oriented Programming (using classes and Objects), and other Java issues. Note that the focus will be on solving problems in the Java language environment. Syllabus – IT2413 Fall 2009 -2COURSE GOALS: Upon completion of the course, each student should Have significant expertise with the Java programming language and the Java programming interface; Be competent in using Java to construct programs at a level that is consistent with the completion of Programming II as defined by international professional societies and standards – this includes those objectives listed in the course objectives COURSE OBJECTIVES: Objectives … Upon completion of the course, each student should 1. Being able to write programs in the Java programming language involving advanced features of the Java language (AAS SLO-04) 2. Being able to write programs in the Java programming language involving methods, classes, and objects (AAS SLO-04) 3. Being able to write programs in the Java programming language involving significant utilization of arrays (AAS SLO-04) 4. Being able to write programs in the Java programming language involving use of the Java Swing class to facilitate a sophisticated GUI environment (AAS SLO-04) 5. Being able to write programs in the Java programming language involving use of Java classes and objects to program in an “Object-Oriented” fashion (AAS SLO-04) 6. Being able to write programs in the Java programming language involving use of Java exception handling (AAS SLO-04, BS SLO-02, BS SLO-05) 7. Being able to write programs in the Java programming language involving significant use of Java files and streams (AAS SLO-04, BS SLO-02, BS SLO-05) 8. Being able to design algorithms and write the corresponding programs that solve problems involving basic algorithms (AAS SLO-04, BS SLO-02, BS SLO-05) 9. Being able to design algorithms and write the corresponding programs that solve sophisticated problems involving heavy utilization of Java methods (called functions in C++ or subprograms in other languages) (AAS SLO-04, BS SLO-02, BS SLO-05) 10. Being able to design algorithms and write the corresponding programs that solve sophisticated problems involving algorithms that heavily utilize the string and array data structure (AAS SLO-04, BS SLO-02, BS SLO- 05) 11. Being able to design algorithms and write the corresponding programs that solve sophisticated problems involving utilization of the class mechanism to create sophisticated data abstractions (AAS SLO-04, BS SLO-02, BS SLO-05) 12. Being able to design algorithms and write the corresponding programs that solve sophisticated problems involving understanding the concept of abstract data types (AAS SLO-04, BS SLO-02, BS SLO-05) 13. Being able to design algorithms and write the corresponding programs that 2 Syllabus – IT2413 Fall 2009 -3solve sophisticated problems involving issues of Object Oriented Programming techniques including inheritance and polymorphism (AAS SLO-04, BS SLO-02, BS SLO-05) 14. Have significant skill in debugging techniques and use of an interactive debugger within a modern day IDE (AAS SLO-04, BS SLO-02, BS SLO-05) Appendix A…. INFORMATION TECHNOLOGY PROGRAM OUTCOMES AAS INFORMATION TECHNOLOGY Upon completion of the program, the student must meet the following criteria (Cat Department, 2006). The student: SLO-01. must understand and demonstrate application of a high ethical standard SLO-02. must understand the impact that information technology has on society as a whole and must know the importance of continual learning SLO-03. must possess the ability to communicate in a variety of settings using oral, written, multimedia techniques to a variety of audiences and must interact with and understand diverse groups using a strong IT vocabulary SLO-04. must be able to choose from a variety of different problem solving methodologies to analytically formulate a solution using a high level programming language SLO-05. must understand the planning, performing, and evaluation process as it relates to information technology operations and must understand system phases, and the Systems Development Life Cycle (SDLC) SLO-06. must understand basic computer networks infrastructure and demonstrate proficiency in assembling, configuring and administering networks BS INFORMATION TECHNOLOGY Upon completion of the program, the student must meet the following criteria (Carroll, BS in IT Proposal, 2006). The student: SLO-01. must analyze, identify, and define the requirements that must be satisfied to address problems or opportunities faced by organizations or individuals applying current technical concepts and practices in the core information technologies; SLO-02. must design effective and usable IT-based solutions and integrate them into the user environment; SLO-03. must demonstrate an understanding of best practices and standards and their application in order to identify and evaluate current and 3 Syllabus – IT2413 Fall 2009 -4emerging technologies and assess their applicability to address the users’ needs; SLO-04. must analyze the impact of technology on individuals, organizations, and society, including ethical, legal, and policy issues; SLO-05. must demonstrate independent critical thinking and problem solving skills; SLO-06. must communicate effectively and efficiently with clients, users, and peers both verbally and in writing, using appropriate terminology and must collaborate in teams to accomplish a common goal by integrating personal initiative and group cooperation 4