2017/01/30 |
Back |
開講学期 /Semester |
2016年度/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 |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2016/02/02 |
---|---|
授業の概要 /Course outline |
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 |
2016年度/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 |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2016/02/02 |
---|---|
授業の概要 /Course outline |
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 |
2016年度/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 | 2016/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 |
2016年度/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 | 2016/02/02 |
---|---|
授業の概要 /Course outline |
本講義は既にC言語を習得している学生を対象に、C++言語の基礎を教えることを目的とする。C++は1980年代中期にBell 研究所のBjarne Stroustrup により開発された、非常に強力なC言語の後継の言語である。具体的には、C++はC言語にクラスの概念とユーザ定義型の機構を付け加え、クラスと継承、動的結合という機能により、オブジェクト指向プログラミングを実現している。 |
授業の目的と到達目標 /Objectives and attainment goals |
本講義は、学生がC++プログラミングの本質を学ぶことを目的とする。具体的には、クラスとオブジェクトの生成の仕方、データのアクセス制限、クラスと階層の設計の方法、クラスの継承と動的結合、テンプレート関数、ジェネリック関数、反復子(イテレータ)、コンテナとSTLの使用である。履修学生はオブジェクト指向の設計方針を反映したC++のプログラムを開発できるようになる。 |
授業スケジュール /Class schedule |
第1週 序論と文字列の取り扱い 第2週 ループとカウンタ 第3週 データの集まりと反復子 第4週 プログラムとデータの組織化 第5週 シーケンシャルコンテナ 第6週 STLの利用 第7週 連想コンテナ 第8週 テンプレート関数とジェネリック関数 第9週 クラスの定義 第10週 メモリの管理 第11週 抽象データ型 第12週 値のように振る舞うクラス 第13週 継承と動的結合 第14週 メモリの自動管理 第15週 まとめ (詳細は、講義を担当する教員により変わる。) |
教科書 /Textbook(s) |
各教員が指定する。 |
成績評価の方法・基準 /Grading method/criteria |
演習:60% 中間試験:20% 期末試験:20% (詳細は、講義を担当する教員により変わる。) |
履修上の留意点 /Note for course registration |
重要な関連科目:プログラミングC、プログラミングJAVA 履修規程上の先修条件:P1 プログラミング入門 または P2 プログラミングC |
参考(授業ホームページ、図書など) /Reference (course website, literature, etc.) |
授業ホームページは授業中に指示する。 Steve Oualine, Practical C++ Programming, O'Reilly & Associates, 1st Edition, 1995 Bjarne Stroustrup, The C++ Programming Language, Addison Wesley, 3rd Edition, 1997 Ira Pohl, C++ for C Programmers, Benjamin/Cummings, 2nd Edition, 1994 |
Back |
開講学期 /Semester |
2016年度/Academic Year 3学期 /Third Quarter |
---|---|
対象学年 /Course for; |
3rd year |
単位数 /Credits |
3.0 |
責任者 /Coordinator |
Shigaku Tei |
担当教員名 /Instructor |
Hirokuni Kurokawa (Aiguo HE) , Taro Suzuki , Yu Nakajima |
推奨トラック /Recommended track |
- |
履修規程上の先修条件 /Prerequisites |
- |
更新日/Last updated on | 2016/02/01 |
---|---|
授業の概要 /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 |
2016年度/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 | 2016/02/01 |
---|---|
授業の概要 /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. |