Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UMKD SDP2 2016-2017.docx
Скачиваний:
24
Добавлен:
14.10.2016
Размер:
126.72 Кб
Скачать

International Information Technology University jsc

Faculty of Information Technology

Department of Computer Engineering and Telecommunication

Approved

IITU Rector

Dr. of Economics, Professor

____________Shynybekov D.A.

«____» ________________ 2016

Methodological complex

RP 2214 APPLICATION DEVELOPMENT (SDP2)

(course: code, title)

5B070400 computer systems and software engineering

(major: code, title)

Full Time

(form of study)

Almaty 2016

Contents of the Methodological Complex

List of documents

1

Academic program of the course

2

Syllabus for students

3

Availability of teaching and learning resources

4

List of specially equipped lecture halls, rooms, laboratories

5

Lecture materials (lecture notes, illustrations, handouts, recommended literature)

6

Methodological guidelines for TSIS (standard calculations, laboratory and computer-graphic works, course projects)

7

Methodological guidelines for SIS

8

Resources for monitoring academic performance (examination questions)

International Information Technology University jsc

Faculty of Information Technology

Department of Computer Engineering and Telecommunication

Approved

Vice-Rector for Academic Affairs

Dr. of Engineering Sciences, professor

_____________ Uskenbayeva R.K.

«_____» _____________________ 2016

Academic program

Course: RP 2214 Application Development (SDP2)

Major: 5B070400 Computer Systems and Software Engineering

Year: 2, Semester: 3; Number of credits: 3

Lectures: 15 hours

Laboratory classes: 30 hours

Practical classes: 15 hours

T/SIS: 90 hours

Total: 150 hours

Final assessment form: Examination

Almaty 2016

Academic Program of the course «RP 2214 Application Development (SDP2)» has been developed on the basis of the State Standard for Higher Education and the iCarnegie Global Learning resources.

Academic program has been reviewed at the meeting of «Computer Engineering and Telecommunication» department.

Minutes №. 1 dated «26» August 2016

Head of the Department _____________ PhD, Assoc. prof. N.T. Duzbayev

Author _____________ Brodyagina M.A., senior-lecturer, MSc

The academic program has been approved at the meeting of IITU SMC

Minutes № 1 dated «___» _____________ 2016

Head of the IITU SMC,

Vice-Rector for Academic Affairs,

Dr. of Engineering Sciences, Professor _____________ R.K. Uskenbayeva

Head of the Department

of Academic and Methodological

Guidance _____________ A.A. Rysbekova

1. General information

Faculty

Information Technology

Major code and title

RP 2214 Application Development (SDP2)

Year, semester

2, 3

Subject category

Compulsory Elective

Number of Credits

3

Language of Delivery

English

Prerequisites

Computation and Problem solving (SDP1)

Postrequisites

Application Design Choices (SDP3)

Lecturer

Mariya A. Brodyagina

senior-lecturer, MSc

Room 409

E-mail: maria.brodyagina91@gmail.com

Office hours: Monday: 13.00-14.00

Tuesday: 16.00-17.00

Thursday: 15.00-18.00

Friday: 11.00-15.00

Instructors

Mariya A. Brodyagina

2. Goals and objectives of the course

Course objectives are learning the basic concepts of application development and the powerful Java programming language. This course is designed for bachelor students. It assumes students have used a computer but possess little or no programming experience. Successfully completing this course will prepare students to use the basic vocabulary of computing and create small, standalone programs. In this course, students will:

  • Use interfaces, abstraction, generalization, and other crucial engineering concepts to reuse, tailor, and scale software solutions.

  • Learn how to use objects as a key strategy to control complexity and support reuse.

  • Examine basic design concepts, in parallel with programming language concepts, by discussing documentation techniques such as flowcharts, pseudo-code and simple Unified Modeling Language (UML) diagrams and implementations.

  • Put this knowledge to work by producing useful client-side applets and standalone applications, based on realistic requirements similar to those you would receive from an actual client or employer.

Learning outcomes of the course

Students successfully completing the course will be able to demonstrate the following knowledge, assessed through class discussions and Assessments:

  • Given a computer program, explain its design and how it works, using a basic vocabulary of common computing terms such as value, constant, variable, classes, objects, attributes, constructors, methods, and parameters.

  • Given a problem, state whether (and why) a computer can solve it, cannot solve it, or if is difficult to know for sure.

  • Describe the Java primitive, composite, and reference data types and explain their uses in Java programs.

Students will also be able to demonstrate the following skills, generally assessed through programming assignments:

  • Implement small programs to solve simple, well-defined problems.

  • Research answers to questions in books and other out-of-class information sources; evaluate your findings for relevance and reliability; integrate the findings with your own knowledge to produce an appropriate solution, and properly cite sources.

  • Create simple programs using simple assignment statements and console terminal input and output.

  • Write short programs (less than 300 lines of code) that use:

    • Control structures, basic functions, and primitive data types.

    • Basic UML documentation, including activity diagrams, class diagrams, state diagrams.

    • Object-oriented design concepts.

    • Classes, data encapsulation and information hiding.

  • Use a development environment to create and debug simple applications.

  • Identify choices that have to be made to solve a problem, and weigh the pros and cons of a given solution.

  • Create applications from scratch that:

    • Properly use arrays to solve searching, sorting, and other similar simple problems.

    • Perform simple iteration.

  • Given a detailed design:

    • Create applications that solve more complex problems related to searching and sorting.

    • Perform more sophisticated iteration.

    • Implement a solution that uses all standard Java control-of-flow statements.

  • Explain the key ideas behind sorting and search algorithms, and implement at least one algorithm of each type.

  • Perform basic I/O operations to the console in textual form, as well as reading and writing text files.

After developing the programming and computer science-skills described by these outcomes, students should be ready to successfully take and complete Application Design Choices: Java II.

3. Course description

This course offers you an introduction to Application development. In this class, students learn the basic concepts of standalone application development and the powerful Java programming language. This course provides the essential Java skills that enable you to development simple applications.

4. Course policy

Class Rules

Respect the learning environment:

  • Come to class on time and prepared to discuss the assigned reading.

  • Do not distract the class with excessive private conversations.

  • Turn off all mobile devices.

  • Use the lab computers in the room for exercises only.

  • Bring paper and pens/pencils.

Collaboration and Academic Integrity

Academic integrity is fundamentally about ethical behavior. Appropriate collaboration and research of previous work is an important part of the learning process. However, not all collaboration or use of existing work is ethical.

Different classes have different rules about collaboration. These are the standards you will be held to for this class. Unless otherwise noted on the assignment, we expect you to know and follow these rules.

  • You may only get help on graded assignments from designated people.

    • You are always welcome to get help on an assignment from your professors, professional school mentors, tutors, or any other faculty member. They may help you at the computer, on paper, or any way they believe will be effective.

    • Several undergraduate TAs may also be associated with this class. You may get their help with assignments outside of class, but these TAs are not allowed to help you at a computer. They may only help you work on paper.

There is a great deal of support available to you from a number of people. If you are struggling with an assignment, by all means, please seek help from one or more of them. You are welcome (and encouraged) to talk through concepts and ideas with your fellow students and study with them.

You may not, however, share your work with another individual or get help with your assignment from any other source, including members of your family. Avoid talking about any homework assignments in any specific way. In particular, do not give direct help to, nor receive direct help from, your classmates on a graded assignment. Never show your work to your classmates or seek to see their work. Homework should be completed individually. In cases where inappropriate sharing occurs, all students involved are at fault, regardless of whether they are the source or recipient of shared work.

  • If something has your name on it, you are claiming it as your own work and academic integrity rules apply. The assignments in this class are exercises designed to help you absorb and comprehend the covered topics. Doing the work is much more important than getting the right answer. The act of practicing things and trying is critical.

We live in a time when a vast amount of information is available online, and I have no doubt you can easily find source code or answers to questions on assignments. Before using this information, ask yourself if you are misrepresenting others’ work as your own. For example:

    • Copying source code you find online and turning it in is cheating and will be treated as such.

    • Reading a Wikipedia page that helps you understand an important concept to complete an assignment is perfectly acceptable.

There is a wide grey area between the above examples. Keep in mind that it’s the instructor’s judgment that counts! If you're ever unsure about whether an action is permissible, ask before you do it.

The severity of sanctions imposed for an academic integrity violation will depend on the transgression and ascertained intent of the student. Penalties for a first offense may range from failing the assignment to failing the course and referral to an academic review board. You can find more information about the consequences of academic integrity violations from Student Affairs.

CLASS FORMAT AND SETUP

Three 50-minute classes will be held each week. For typical weeks:

  • Two classes will consist of 10 minutes of organizing discussion and 40 minutes of exercises that address issues and questions from the assigned reading and homework.

  • The third class will begin with a 20-minute Assessment (see below) covering the reading and class exercises, followed by 30 minutes of discussion and exercises.

You will also complete additional Assessments in the middle and the end of the semester. See the course schedule for the sequence of class topics.

5. Literature

Basic literature:

1. Julie Anderson, Hervé Franceschi, Java Illuminated: An Active Learning Approach, 3rd Edition, ISBN-13: 978-1449632014

Supplementary literature:

1. Kathy Sierra, Bert Bates, Head First Java, 2nd Edition, ISBN:978-0-596-00920-5

2. H. M. Deitel - Deitel & Associates, Inc., P. J. Deitel - Deitel & Associates, Inc., Java™ How to Program, Sixth Edition, ISBN-13 : 978-0-13-128933-8

3. Cay S. Horstmann, Gary Cornell, Core Java™ 2 Volume I - Fundamentals, Seventh Edition, ISBN: 0-13-148202-5

4. Joshua Bloch, Effective Java, 2nd Edition, ISBN-13: 978-0321356680

5. Herbert Schildt, Java: The Complete Reference, Ninth Edition, ISBN-13: 978-0071808552

6. Herbert Schildt, Java: A Beginner's Guide, Sixth Edition, ISBN-13: 978-0071809252

Course calendar

Lecture, practical/seminar/laboratory session plans

Week No

Lectures (1h/w)

Laboratory classes

(2 h/w)

TSIS

(1 h/w)

SIS

(5 h/w)

1

Course overview. Review of Java Fundamentals. The Java Environment. Introduction to OOP

Project 1.

Exercises

Assessments

2

Object-Oriented Programming. Class. Object. Class Design. Class structure.

Project 1.

Exercises

Assessments

3

Methods. Variables. Data types.

Using Loop Constructs. Expressions and Flow Control.

Project 2.

Exercises

Assessments

4

References and Objects. Polymorphism. Encapsulation. Constructors.

Project 2.

Exercises

Assessments

5

Overflow and Underflow. Cast in Java. Object Class. Abstraction. Abstract classes, methods. Static keyword.

Project 3.

Exercises

Assessments

6

Numbers. String. StringBuilder. Identifiers, Keywords. Interfaces. Advanced String processing.

Project 3.

Exercises

Assessments

7

Final. Typesafe Enumerations. Code Reuse. Polymorphism and Composition. Arrays.

Exercises

Assessments

8

Generics and Collections. Data Structures. Arrays.

Project 4.

Exercises

Assessments

9

Working with Methods and Method Overloading.

Project 4.

Exercises

Assessments

10

Using Advanced Object-Oriented Concepts. Advanced class design.

Project 5.

Exercises

Assessments

11

Exception Handling. Exceptions and Assertions. Errors and debugging.

Project 5.

Exercises

Assessments

12

I/O Fundamentals. Console I/ O and File I/O. Files and Streams.

Project 6.

Exercises

Assessments

13

Recursion. Searching and Sorting Algorithms.

Project 6.

Exercises

Assessments

14

Writing Servlets. JSP. Database Access and Permissions.

Project 7.

Exercises

Assessments

15

Multithreading, Threads, Runnable class. Introducing Lambda Expressions.

Exercises

Assessments

Total hours

15

30

15

75

Abbreviation

Meaning

TSIS

Teacher-supervised independent study (СРСП)

SIS

Students’ independent study(СРС)

IP

Individual project

PA

Practical assignment

LW

MCQ

Laboratory Work

Multiple choice quiz

List of assignments for Student Independent Study

Assignments (topics) for Independent study

Hours

Recommended literature and other sources (links)

Form of submission

1

2

3

4

5

1

Course overview. Review of Java Fundamentals. The Java Environment. Introduction to OOP

3

Books, internet resources

Additional exercises

2

Object-Oriented Programming. Class. Object. Class Design. Class structure.

3

Books, internet resources

Additional exercises

3

Methods. Variables. Data types.

Using Loop Constructs. Expressions and Flow Control.

3

Books, internet resources

Additional exercises

4

References and Objects. Polymorphism. Encapsulation. Constructors.

3

Books, internet resources

Additional exercises

5

Overflow and Underflow. Cast in Java. Object Class. Abstraction. Abstract classes, methods. Static keyword.

3

Books, internet resources

Additional exercises

6

Numbers. String. StringBuilder. Identifiers, Keywords. Interfaces. Advanced String processing.

3

Books, internet resources

Additional exercises

7

Final. Typesafe Enumerations. Code Reuse. Polymorphism and Composition. Arrays.

3

Books, internet resources

Additional exercises

8

Generics and Collections. Data Structures. Arrays.

3

Books, internet resources

Additional exercises

9

Working with Methods and Method Overloading.

3

Books, internet resources

Additional exercises

10

Using Advanced Object-Oriented Concepts. Advanced class design.

3

Books, internet resources

Additional exercises

11

Exception Handling. Exceptions and Assertions. Errors and debugging.

3

Books, internet resources

Additional exercises

12

I/O Fundamentals. Console I/ O and File I/O. Files and Streams.

3

Books, internet resources

Additional exercises

13

Recursion. Searching and Sorting Algorithms.

3

Books, internet resources

Additional exercises

14

Writing Servlets. JSP. Database Access and Permissions.

3

Books, internet resources

Additional exercises

15

Multithreading, Threads, Runnable class. Introducing Lambda Expressions.

3

Books, internet resources

Additional exercises

Соседние файлы в предмете Программирование на Java