 Browse by Category

Browse by School/
Graduate School
Mathematical analysis and Computer mathematics 1
Masashi KUBO Associate Professor
Hisashi NAITO Associate Professor
Department: Graduate School of Mathematics
Class Time:  2011 Fall Wednesday 
Recommended for:  School of science seniors School of mathematics masters students 
Course Overview
Course Aims
Our objectives of this course are to get an outline of close connections between mathematics, mathematical analysis and computer mathematics. In particular, we will be looking at algorithms from a mathematical point of view by using mathematical examples. We will also learn C language in order to write programs using algorithms introduced in the lecture.
This course is a full year course. However, only the first half of the information can be found on the Nagoya University OCW website.
Key Features
The main objectives of this course are to understand various algorithms. In addition, we will be learning about C language in order to design programs using algorithms introduced in the lecture.
The most important thing to keep in mind when studying a programming language is that we are not aiming at getting the correct results but to write programs accurately. Therefore, it is highly recommended that you make sure you write the program accurately and apply the algorithm correctly. Also, it is important to know that there are close connections between operating system of computers and the classical style of mathematics.
Finally, I would like all of the students to understand basics of C language, algorithms and the close connection between algorithms and mathematics in this lecture. I also hope that they will understand mathematics and computers more deeply by the end of the lecture.
Close Section
Syllabus
Course Aims
Our objectives of this course are to get an outline of the close connections between mathematics, mathematical analysis and computer mathematics. Our main focuses are as follows.
Firstly we will discuss the close connections between mathematics, mathematical analysis and computers considering the important role algorithms play in connecting these three fields.
Secondly, we will move on to the topic of computers and their surrounding network systems. By understanding these basics, we aim at obtaining a proper knowledge of computers and their abilities. We will then be able to design feasible algorithms considering the abilities and the limits of the computer.
Thirdly, we will be learning about C language. In order to write your own program, a solid understanding of program languages and algorithms is vital for its accuracy and credibility. Therefore we will spend the most time on these topics including the relationships between C languages and operation systems.
Finally, I would like to emphasize that this lecture is not aimed at gaining the ability to use a computer, to send email or to build a homepage. If you would like to attain these abilities, or specific skills for using applications, this course is not suitable for you.
Course Requirements
We do not require special knowledge of college level mathematics ; highschool level is sufficient. The important thing is understanding the concepts of basic mathematics, which will be key to constructing the algorithms.
Contents
The contents of this lecture are as follows.
 Basics of computers and network systems (computer literacy)
 C language
C language that meets ANSI standard is used in this lecture. The contents of the lecture will be up to the level of array, pointer and character.  Introduction of various elementary algorithms
Our focus is on algorithms with integer values; floatingpoint computation is not the topic for this lecture.
The lectures on computer literacy are given in the beginning of June. This is because most of the senior students are away for teaching practice at this time. (It is true that the knowledge of computer literacy is important for teachers in general. However, the material covered in the C language and algorithms section is more difficult and it is better for them to attend those lectures.)
Overview of the Lecture
Our main focus is to understand the method of expression of numerical numbers within the computer. We will also look at basic algorithms such as Euclidean algorithms and Earthshines' sieve. Moreover, we will learn about computer literacy (mainly about the history and principles of computer networks) to gain a better understanding of the basics of computers.
Class Procedure
We will usually have a lecture for about 90 to 120 minutes, and then we will have a break of 10 to 15 minutes. We will then move on to the exercise session. However, depending on the progress of the lecture, we might have a slight change of schedule. Also, class starts at 8:45. I know that it is hard for some students to wake up early to be in time for class. In fact, when I was in college, I did not attend most of the classes in the morning. However, I would like you to attend the lecture to get a better understanding.
Advice for the Students
Our objectives for this course are not to learn how to use computer applications but to learn the basics of computers and algorithms from a mathematical perspective. Therefore I would like all of you to understand the main objectives of this class and make an effort to achieve the goals of this course.
Programming Exercises
The Information Media Education Center Satellite Laboratory can provide you with software for writing C programs for undergraduate science major students. As for graduate students, the computational calculation room in the mathematics department is available.
The contents of our exercises are to write a computer program using an algorithm introduced in the lecture. All the programs have to be written in C language.
I would like you to use the standard applications provided. Using nonstandard applications could result in some problems and I am not responsible for any trouble in the exercise sessions. You must bear the responsibility for any problems.
Attendance
Attendance of your class does not affect the evaluation of this course. If you have some suggestions about the lectures or exercise sessions of this course, please feel free to email me. I am willing to get feed back to make my lectures better.
Course Schedule
Session  Contents 

1  Introduction  Overview of the contents of the lecture  Evaluation method UNIX (1)  How to log in and log out  Password  Usage of X Window System  Usage of emacs C language (1)  Usage of C processor (1)  Easy example problems (1)  Example program 'Hello world'  Introduction to easy computation 
2  UNIX (2)  File system and directory  Text file and its usage  Shell  Basic commands (2) C language (2)  Usage of C processor (2)  Easy example problems (2)  Summation of 1 to 10  Determination of odd number or even number 
3  Literacy (1)  Methods of expressing numerical data during computation  Subtraction method using a complement number of two C language (3)  What is program language?  C language processor  What are variables?  Declaration of integer form and assignment of value 
4  C language (4)  Declaration of integer form and assignment of value continued  Character type data and code  Equation and statement  Computation  Arithmetic operation  Bit operation  Value obtained from Equation  Assignment operation  Priority ranking of operation and combinatory rule Literacy (2)  Subtraction method using a complement number of two continued  Digital circuit and adding machines 
5  Literacy (3)  Subtraction method using a complement number of two continued  Digital circuit and adding machines continued  Internal expression of floating decimal point C language (5)  Computation  Arithmetic operation  Conditional statement Bit operation  Value obtained from Equation  Assignment operation  Priority ranking of operation and combinatory rule  Repetition statement 
6  Algorithm (1)  Euclidean algorithm  Validity of algorithm  Evaluation of the amount of computation  Extended Euclidean algorithm  Binary Euclidean algorithm 
7  C language (6)  Function (1)  Meaning of function declaration  Classification of variables  Formatting  Memory allocation 
8  Literacy (4)  History of computers  Computer hardware  Computer software  Computer networks 
9  Literacy (5)  Computer network continued  Network literacy 
10  C language (7)  Array and character string 
11  Algorithm (2)  Earthshines' sieve  Radix conversion 
12  C language (8)  Pointer  Function with pointer arguments 
13  C language (9)  Pointer continued Algorithm (3)  Recurring algorithms 
14  Algorithm (4)  Recurring algorithms continued C language (10)  Inputoutput of file  Argument of main function 
15  C language (11)  Inputoutput of file continued  Solution for some of the Assignments 
Grading
Grading is based only on the results of the assignments given in the lecture. Exercises given after the lecture will be collected to get an idea of the students' understanding but it will not be used for grading.
Also, attendance of the class will not be considered as a factor of grading. After the 7th lecture, we will ask you to hand in mid term report, which is not considered for the final grading.
However, the mid term report is mandatory for all students who are hoping to get credit for this course. No credit will be given to those who do not hand in the mid term report.You are not allowed to copy your report from other students or textbooks. No credits are given for anyone who violates this rule.
Grading Criteria
Grading will be given as followed.
C  Minimum understanding of C language and Algorithms required (Being able to use the algorithms introduced in class and write computer programs using C language) 

B  Basic understanding of C language and Algorithms (Accurate understanding of the algorithms introduced in class and ability to write programs using algorithms introduced in class) 
A  Deep understanding of C language and Algorithms (Deep understanding of the algorithms introduced in class and ability to write accurate programs applying algorithms introduced in class correctly) 
Close Section
Class Materials
Assignments
When homework is assigned during class, the due date of the homework is next Monday evening. It is very important to do this assignment to get the basics of C language. In addition, evaluation is only based on assignments. For those who do not attend classes, you will also be informed of assignments in the lecture notes.
Related Resources
C language
 B. W. Kernighan & D. M. Ritchie, The C Programming Language, Second Edition PrenticeHall, Englewood Cliffs, New Jersey, 1988
Unix
 Brian W. Kernighan & Rob Pike, Unix Programming Environment (PrenticeHall Software Series), Prentice Hall (March 1984)
 Aeleen Frisch, UNIX System Administration, O'Reilly Vlg. GmbH & Co. 1998
A Japanese version of this book is also available.
Close Section
Page last updated August 30, 2011
The class contents were most recently updated on the date indicated. Please be aware that there may be some changes between the most recent year and the current page.