2018/01/30 |
Back |
開講学期 /Semester |
2017年度/Academic Year 前期 /First Semester |
---|---|
対象学年 /Course for; |
1st year |
単位数 /Credits |
4.0 |
責任者 /Coordinator |
Kohei Otsuyama |
担当教員名 /Instructor |
Yasuhiro Hisada, Kohei Otsuyama, Hirohide Demura, Naru Hirata, Naohito Nakasato, Kohei Kitazato, Takeaki Sampe, Yoshiko Ogawa, Kenta Ofuji, Wang Junbo, Evgeny Pyshkin, Yen Neil Yuwen |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2017/01/31 |
---|---|
授業の概要 /Course outline |
<Note> This is an English translation of the Intro.Programming Japanese course. If you want to know about the Intro.Programming ICTG English course, please follow this link(https://www.u-aizu.ac.jp/sgu/info/files/docs/P01-Englishcourse.pdf). ------------------------------------------------------------------------------------------------------------- As for the programming by C language, there are a lot of students who do not have an enough skill, though it is very important for the student of University of Aizu. This course is the first half of the full year C course (latter half is called "Programming C"), and taught basics of C programming language. |
授業の目的と到達目標 /Objectives and attainment goals |
This course is aimed to learn skills such as: ・The concept of the programming is understood. →When the problem is given, a series of operation until the program to solve it is made is acquired. ・The fundamental syntax of C languages (i.e. branch, loop, array, and function, etc.) are understood. →You can make a program using them. ・A good programming style is acquired. |
授業スケジュール /Class schedule |
・Basic knowledge of programming ・The ABC of C programming ・Expression and operator ・Flow of control -Branch (if and switch, etc.) -Loop (while and for, etc.) ・Concept and use of array ・Concept and use of function ・File manipulation with redirect/pipe ・Good programming style We will inform you of it on the class and the homepage for a detailed schedule. Text(s) |
教科書 /Textbook(s) |
"Programming by C language Basic part" The second edition, Uchida, ohm publishment Handouts (Sold in the University shop). You MUST buy the handouts before the class begins. |
成績評価の方法・基準 /Grading method/criteria |
・Quiz (quizzes executed every lecture)10% ・Computer exercise 30% ・Midterm exam 10% ・Final exam 50% The quiz is also used as the attendance confirmation. Student whose attendance is lower than regulated attendance rate(2/3 or more) are considered to abandon the class. Student who is absent from either mid-term or final examination are also considered to abandon the class. |
履修上の留意点 /Note for course registration |
Prerequisites : none Other related courses which include important concepts relevant to the course : C programming(second semester), Intro. Computer Systems(second semester) Formal prerequisites:None |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
From outside the university http://www.u-aizu.ac.jp/course/prog1/ From the university WS (There are newer information and information that can be seen from other domain like quiz result etc. on this URL) File:///home/course/prog1/public_html/2016/welcome.html |
Back |
開講学期 /Semester |
2017年度/Academic Year 後期 /Second Semester |
---|---|
対象学年 /Course for; |
1st year |
単位数 /Credits |
4.0 |
責任者 /Coordinator |
Kohei Otsuyama |
担当教員名 /Instructor |
Yasuhiro Hisada, Kohei Otsuyama, Jung-pil Shin, Yuichi Okuyama, Naru Hirata, Takeaki Sampe, Yan Pei, Evgeny Pyshkin |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2017/01/31 |
---|---|
授業の概要 /Course outline |
<Note> This is an English translation of the Intro.Programming Japanese course. If you want to know about the Intro.Programming ICTG English course, please follow this link(https://www.u-aizu.ac.jp/sgu/info/files/docs/P02-Englishcourse.pdf). ------------------------------------------------------------------------------------------------------------- As a successor of the "Intro. programming" lecture of the first semester, this lecture is constituted based on the following concept. ・Graduate studies and following lectures, such as algorithms and data structures, require fairy high programming skills. Students can obtain skills to match that. ・Learn the skills to create a larger program. |
授業の目的と到達目標 /Objectives and attainment goals |
This course is aimed to learn skills such as: ・Understand loop, array and function that were learned in the intro. programming in the first semester, and used them effectively. ・Understand character, character string, pointer, file, structure, recurrence, and used them. ・Can write a largerer program ・Can build up a program with group. ・Obtain good programming-style. |
授業スケジュール /Class schedule |
・Intro. Programming course(1st semester) review ・Character and string ・Address and Pointers ・Structural declaration and definition of a Input & Output Files ・Dynamic memory allocation ・Command Line Options ・Manipulate a linked list. ・Group programming ・Preproccessor ・The good programming style Detailed schedule of lectures will be shown in the web pages. |
教科書 /Textbook(s) |
"Programming by C language Application part" The second edition, Uchida, ohm publishment Handouts (To be sold at the University shop). Intro. programming and C programming handouts are combined into one copy. You don't have to buy the handouts if you already have one. |
成績評価の方法・基準 /Grading method/criteria |
・Quiz (quizzes executed every lecture)10% ・Computer exercise 30% ・Midterm exam 30% ・Final exam 30% The quiz is also used as the attendance confirmation. Student whose attendance is lower than regulated attendance rate(2/3 or more) are considered to abandon the class. Student who is absent from either mid-term or final examination are also considered to abandon the class. |
履修上の留意点 /Note for course registration |
Prerequisites : none Other related courses which include important concepts relevant to the course : Intro. Programming(first semester), Intro. Computer Systems(second semester), Algo.and Data Struct(2nd grade first semester) Formal prerequisites:None |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
From outside the university http://www.u-aizu.ac.jp/course/prog1/ From the university WS (There are newer information and information that can be seen from other domain like quiz result etc. on this URL) file:///home/course/prog1/public_html/2016/welcome.html |
Back |
開講学期 /Semester |
2017年度/Academic Year 前期 /First Semester |
---|---|
対象学年 /Course for; |
2nd year |
単位数 /Credits |
4.0 |
責任者 /Coordinator |
Vitaly V. Klyuev |
担当教員名 /Instructor |
Tongjun Huang, Jung-pil Shin, Mohamed Hamada, Vitaly V. Klyuev, Kohei Kitazato, Yan Pei, Yuichi Yaguchi, Xin Zhu, Yutaka Watanobe |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
P1 or P2 |
更新日/Last updated on | 2017/01/27 |
---|---|
授業の概要 /Course outline |
Java and technologies utilizing this language dominate current programming trends. The goal of this course is to study object-oriented programming using Java. Connection with Other Courses The Java Programming 1 course is a basic course for students who would like to specialize in programming, software engineering, and designing software applications. This course is also highly recommended for students who selected hardware design as their major. |
授業の目的と到達目標 /Objectives and attainment goals |
The best way to become familiar with any programming language and programming technology is to study examples. The most appropriate way to obtain Java skills is to solve real problems on an individual basis. In our course, we discuss in detail a large number of examples to illustrate Java concepts and we offer a set of problems for students to solve. |
授業スケジュール /Class schedule |
The course covers the basic topics: a) objects and classes with special focus on data abstraction and encapsulation, inheritance, and polymorphism, b) exception handing, c) I/O issues. All topics are illustrated with examples which are easy to understand by students. The tentative schedule is as follows: 1. Introduction to objects The Java Technology Phenomenon The " Welcome to Java!" Application What is an Object? What is a Class? Online Documentation 2. Language basis Variables Operators Expressions, Statements, and Blocks Control Flow Statements 3. Classes and objects Classes Constructors Methods Creating Objects Using Objects 4. Inheritance (1) Inheritance: Key Definitions The Purpose of Inheritance An Example of Inheritance What You Can Do in a Subclass Private Members in a Superclass Casting Objects Overriding Methods Hiding Fields Constructor Chaining 5. Inheritance (2) IS-A versus HAS-A relations The Object class as a Superclass 6. Debugging Key Definitions General strategy jdb (a Command Line Debugger) 7. Polymorphism (1) Introduction Examples The Mechanics of Polymorphism Static and Dynamic Binding Casting Objects The instanceof Operator 8. Polymorphism (2) Abstract Classes Private and Static Methods Order of Constructor Calls Designing Classes Summary of Polymorphism 9. Interfaces What is an Interface? Interfaces in Java Interfaces and Multiple Inheritance A Sample Interface, Relatable Using an Interface as a Type Rewriting Interfaces Abstract Classes vs. Interfaces Summary of Interfaces 10. Packages What is a Package? Creating a Package Referring to a Package Member Managing Source and Class Files Examples Summary of Creating and Using Packages 11. Exceptions (1) Error Handling in C What s an Exception? Kinds of Exceptions Exception Handling Keywords Catching and Handling Exceptions 12. Exceptions (2) Exception Handling in Java Catching Exceptions The throws Clause Exception Chaining Advantages of Exceptions 13. Basic I/O I/O Streams File I/O 14. Review See the course home page below for details and updates. |
教科書 /Textbook(s) |
The Java Tutorial: A Short Course on the Basics (6th Edition) (Java Series) by R. Gallardo, et al., 2014. Electronic version Head First Java 第2版 ―頭とからだで覚えるJavaの基本 大型本 by Kathy Sierra, et al., 2006. |
成績評価の方法・基準 /Grading method/criteria |
The final grade will be calculated based on the following weights: Assignments - 50% Quizzes during lectures - 15% Final examination - 35% |
履修上の留意点 /Note for course registration |
Knowledge of programming concepts is necessary. Students should complete Introduction to Programming and C Programming courses. 履修規程上の先修条件:P1 プログラミング入門 または P2 プログラミングC Formal prerequisites:P1 Intro.Programming or P2 C Programing |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
Course Website References The Java Tutorial: A Short Course on the Basics (6th Edition) (Java Series) by R. Gallardo, et al., 2014. Electronic version Head First Java 第2版 ―頭とからだで覚えるJavaの基本 大型本 by Kathy Sierra, et al., 2006. |
Back |
開講学期 /Semester |
2017年度/Academic Year 3学期 /Third Quarter |
---|---|
対象学年 /Course for; |
2nd year |
単位数 /Credits |
3.0 |
責任者 /Coordinator |
Keitaro Naruse |
担当教員名 /Instructor |
Jie Huang, Nobuyoshi Asai, Keitaro Naruse, Konstantin Markov, Pierre-Alain Fayolle, Igor Lubashevskiy, Yu Nakajima |
推奨トラック /Recommended track |
CM,RC,BM,SE |
履修規程上の先修条件 /Prerequisites |
P1 or P2 |
更新日/Last updated on | 2017/01/31 |
---|---|
授業の概要 /Course outline |
This course provides the fundamental knowledge of the programming language C++ to the students who have already learned the programming language C. C++ has developed by Bjarne Stroustrup at Bell Lab in mid 1980s. It is an object oriented version of C, with the elements of class, inheritance, and dynamic binding, as well as the standard template library. |
授業の目的と到達目標 /Objectives and attainment goals |
The students will learn the essence of C++ language such as class and object creation, data protection, class design, template function, generic function, iterator, containers and STL. The students will be able to develop software in C++ with the object oriented manner. |
授業スケジュール /Class schedule |
#1 Introduction and string #2 Loop and counter #3 Data collection and iterator #4 Program and data organization #5 Sequential container #6 STL #7 Associative container #8 Template function and generic function #9 Class definition #10 Memory management #11 Abstract data type #12 Class behaving as value #13 Inheritance and dynamic binding #4 Automatic memory management #15 Summary Detail can be changed by instructors |
教科書 /Textbook(s) |
Each of instructors will designate in a class. |
成績評価の方法・基準 /Grading method/criteria |
Quiz: 20% Exercise: 50% Final: 30% Percentage can be changed by instructors |
履修上の留意点 /Note for course registration |
Related courses: Programming C and programming Java |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
Each of instructors will designate in a class. |
Back |
開講学期 /Semester |
2017年度/Academic Year 3学期 /Third Quarter |
---|---|
対象学年 /Course for; |
3rd year |
単位数 /Credits |
3.0 |
責任者 /Coordinator |
Taro Suzuki |
担当教員名 /Instructor |
Hirokuni Kurokawa (Aiguo HE), Taro Suzuki, Yu Nakajima |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2017/01/31 |
---|---|
授業の概要 /Course outline |
The course explains paradigms, models, classification, and technical points of programming languages. It will give students an opportunity to consider history of the languages and the intention of the language developers, about some well used languages. Moreover, we compare the features of various computer languages, and provide the viewpoints when learning or designing a new language. Besides discussion on essential points of various computer languages, Prolog, one of the logic programming languages, will be studied in both lectures and exercise. |
授業の目的と到達目標 /Objectives and attainment goals |
The purpose of the course is to present the students concepts, models, and technical points, and features of various computer languages. By studying those pieces of knowledge, students will have a wide view, when they review the computer languages learned in precedence courses, select necessary languages for development of systems, and learning new languages in the future. In addition to learning the basic concepts and models of computer languages, one of the logic programming languages Prolog will be studied extensively to understand the way of thinking and some experiences on logic programming. |
授業スケジュール /Class schedule |
(1) The outline of computer languages (1) & Prolog: Introduction, fact (2) The outline of computer languages (2) Prolog: Inference rules (3) Computation models of computer languages (1) Prolog: Constant and variables (4) Computation models of computer languages(2) Prolog: pattern matching (5) Example of computer languages Prolog: Recursion (6) Comparison of different models (1) Prolog: Backtrack (7) Comparison of different models(2) Prolog Cut (8) Middle examination Paper test and project (9) Some technical points of computer languages (1) Prolog: Input and output (10) Some technical points of computer languages(2) Prolog: Operations of Database (11) Example of computer languages(2) Prolog: Application, finding the shortest path (12) Syntax of computer languages (13) Semantics of computer language(1) (14) Semantics of computer language (2) (15) Review, comparison of different computer languages, the necessary for new languages |
教科書 /Textbook(s) |
1) PrologとAI Prolog への入門 I. Bratko (著), 安部 憲広 (翻訳), 近代科学社 2) プログラミング言語論 大山口 通夫、五味 弘 共著 コロナ社 |
成績評価の方法・基準 /Grading method/criteria |
Small Test and Attendance 20% Exercise 20% Middle examination and project 30% Final examination 30% |
履修上の留意点 /Note for course registration |
P1 Introduction to Programming P2 Programming C P3 Programming JAVA I Formal prerequisites: |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
参考書 コーディングを支える技術 西尾 泰和 技術評論社 http://provit.u-aizu.ac.jp/clang/ |
Back |
開講学期 /Semester |
2017年度/Academic Year 2学期 /Second Quarter |
---|---|
対象学年 /Course for; |
3rd year |
単位数 /Credits |
3.0 |
責任者 /Coordinator |
Incheon Paik |
担当教員名 /Instructor |
Hirokuni Kurokawa (Aiguo HE), Incheon Paik, Pierre-Alain Fayolle |
推奨トラック /Recommended track |
SE |
履修規程上の先修条件 /Prerequisites |
P3 |
更新日/Last updated on | 2017/01/30 |
---|---|
授業の概要 /Course outline |
The Java Programming II is a course for the 3rd year students who had studied basics such as objects and classes, object oriented concept, exception handling, and I/O issues in Java. This course teaches some advance topics: annotation, reflection, threads, GUI, and network programming in Java. In the first half of this course, we will study about topics related to Java language itself such as annotation, reflection, threads, GC, and GUI. In the second half, we will experience development of distributed network applications in Java on the Web and smart mobile device. |
授業の目的と到達目標 /Objectives and attainment goals |
The Java programming language benefits Internet and WWW users from access to secure, platform independent applications that can come from anywhere on the Internet. It is useful to build applications for not only distributed network but also for general-purpose. The ability to execute downloaded code on remote hosts in a secure manner is a critical requirement for many organizations. This course enables students to improve Java programming technique and knowledge to develope applications using GUI, generics, thread programming, networking, smart phone programming in Java. |
授業スケジュール /Class schedule |
1. Introduction and Java Basic Review 2. Java GUI (Events and AWT) 3. Java GUI (Swing) 4. Generics and Inner Class 5. Collections 6. Midterm Examination 7. Annotation, Documentation comments 8. Thread & Garbage Collection I 9. Thread & Garbage Collection II 10. Review on the topics studied (Generics, Annotation, and Threads) 11. Java Network I 12. Java Network II 13. Android Smart Phone Programming I 14. Android Smart Phone Programming II 15. Android Smart Phone Programming III 16. Term Project |
教科書 /Textbook(s) |
The Java Tutorial, 4th Edition, A Short Course on the Basics by S. Zakhour, S. Hommel, J. Royal, I. Rabinovitch, T. Risser, and M. Hoeber, Sun Microsystems, 2006 (English version), 2007 (Japanese Version). |
成績評価の方法・基準 /Grading method/criteria |
1. Exercise Lab. and Report 2. Examination (Midterm and Final) 3. Term Project 4. Attendance |
履修上の留意点 /Note for course registration |
* Prerequisites: - P1 Intro.Programming - P2 C Programing - P3 JAVA Programming I * Other related courses: - P4 C++ Programing - P5 Computer Languages - F1 Algo.and Data Struct. - SE1 Web Engineering - SE2 Web Programming - SE3 Software Eng. I - SE4 Software Eng. II - SE5 Software Studio - SE6 Distributed Computing - N1 Communication Networking I - N3 Computter Network Organizaion &Design - S9 Computer System Engineering |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
1. Arnold, James Gosling, and David Holmes, The Java Programming Language, 4th Edition, SUN, 2006. (Japanese version by Pearson Education) 2. Ivor Horton, Java 2 JDK 5 Edition, Wiley Publishing, 2005 3. C.S. Horstmann, G. Cornell, Core Java, Sun Microsystem Press 4. J. O’Neil, Teach Yourself JAVA, McGraw-Hill 5. Kathy Sierra and Bert Bates, Head First Java (Head First) 2nd edition, 2005; Japanese edition, 2006. |