Lecture Notes For All: February 2010

GoDaddy

...................

Sunday, February 28, 2010

Computer Architecture and Organization

Computer Architecture and Organization
taught by Dr. Ken Williams
This course explores the design of computer systems and their architectures. Topics include central processing unit architecture, microcode, system interconnections, memory systems, input/output systems, interrupt handling, peripherals and communications networks

Textbook

The textbook for COMP375 Computer Architecture and Organization during the Fall 2008 semester is:
Computer Organization and Architecture: Designing for Performance, Seventh Edition,
by William Stallings, Pearson Prentice Hall, 2006, ISBN: 0131856448
Slides






































Friday, February 26, 2010

Computer Architecture -1



Introduction to Computer Architecture

taught by Dr. Ken Williams

Computer Science department of North Carolina A&T State University

This course teaches techniques for design and optimization of combinatorial logic circuits, flip-flops, counter, registers and arithmetic concepts necessary to understand computer logic. Additional topics include assembly language programming, interrupt handling, and data representation.


Text Books :

The spring 2009 textbook for COMP370 Introduction to Computer Architecture is


Fundamentals of Computer Organization and Design, by Sivarama P. Dandamudi, Springer publishing, 2003, ISBN: 038795211X


Sylabus :-


Slides

Number bases


Integer representation


Floating Point representation


Character representation


Graphic representation


Logic gates


Boolean logic


Logic Simplification


Arithmetic


Transistors and VLSI


Combinatorial Logic


Logic Arrays


Finite State Automata


FSA Design


Assembler introduction


Assembler statements and ifs


Assembler pointers and arrays


Assembler function calls


Additional assembler information

FSA example: at least three 1’s


FSA example: two or more consecutive zeroes


FSA example: two consecutive zeroes but not three

Powers of 2


Computer Architecture

Advanced Computer Architecture




Appendix_A .ppt




Chapter 1.ppt




Chapter 2.ppt




Chapter 3.ppt




Chapter 4.ppt




Chapter 5.ppt




Chapter 6.ppt




Project-1.pdf




Project-2.pdf







Thursday, February 25, 2010

Computational Sciences and Engineering2

Computational Sciences and Engineering

Course Description

Study of computer science techniques and tools that support computational sciences and engineering. Emphasis will be on visualization, performance evaluation, parallel computing, and distributed computing. Prerequisites: CS-115, CS/EE-380, and engineering standing. CS/MA/EGR 537 should be a prerequisite. All graduate students should take 537 before taking this course.

(Picture courtesy of CSEP)

Requirements and Goals

Students need knowledge of programming in a modern object oriented language and a basic knowledge of machine organization and architecture. You need to know how to make presentations in either PowerPoint or Acrobat.

Students will learn about hardware and software support for high performance computing. They will learn to select algorithms and develop code for computing in a parallel (or distributed computing) environment. They will learn about benchmarking, optimization, and visualization. The course will include a hands on component utilizing a parallel computing environment.

Textbook and Course Outline

The course will follow, where still appropriate, the lecture notes of the Computational Science Educational Project (CSEP). The lectures will cover some or all of the topics below. I may allow swapping of team members on a one for one basis as long as I approve it well in advance.

  • An Overview of Computational Science (Douglas) 1/21-23
    PowerPoint PDF
  • Numerical Linear Algebra (Hickey/Shields) 2/11-20
    PowerPoint PDF
  • Computer Architecture (Luo/Muche) 2/20-25
    PowerPoint PDF
  • Networks (Holland/Reckner) 2/27-3/4
    Powerpoint PDF
  • Cache Designs and Tricks (Douglas) 3/6-11
    PowerPoint PDF
  • Some High Performance Computing Issues in PDEs (Douglas) 3/11-13
    PowerPoint PDF
  • MPI and OpenMP (Muche/Shields) 3/25
    PowerPoint PDF
  • Scientific Visualization in High Performance Computing (Hickey/Holland) 4/8-10
    PowerPoint PDF
  • Random Number Generators and Monte Carlo Methods (Luo/Reckner) 4/10
    PowerPoint PDF
  • Case Study: Ocean Modeling (Douglas) 1/30-2/4
    PowerPoint PDF
  • Case Study: Sports Lighting (Douglas) 2/6
    PowerPoint PDF Report: Word PDF
  • Case Study: Dust Particle Movement (Douglas) 4/1-3
    PowerPoint PDF
  • Case study: Flame Simulation (Douglas) 4/15
    PDF Figures (see Ern, Douglas, and Smooke)
  • Case Study: Semiconductor Modeling (Class reading) 4/17
    HTML
  • Case Study: Nanomaterials (Hickey/Luo/Muche) 4/22-24
    PowerPoint PDF
  • Case Study: Bioinformatics (Holland/Reckner/Shields) 4/29-5/1
    PowerPoint PDF

Computational Sciences and Engineering

Computational Sciences and Engineering

Course Description

Study of computer science techniques and tools that support computational sciences and engineering. Emphasis will be on visualization, performance evaluation, parallel computing, and distributed computing. Prerequisites: CS-115, CS/EE-380, and engineering standing.

(Picture courtesy of CSEP)

Requirements and Goals

Students need a knowledge of programming in a modern object oriented language and a basic knowledge of machine organization and architecture.

Students will learn about hardware and software support for high performance computing. They will learn to select algorithms and develop code for computing in a parallel (or distributed computing) environment. They will learn about benchmarking, optimization, and visualization. The course will include a hands on component utilizing a parallel computing environment.

Textbook and Course Outline

The course will follow, where still appropriate, the lecture notes of the Computational Science Educational Project (CSEP). The lectures will cover the following topics:

Computational Number Theory

Computational Number Theory

Authors-
This is a course I have taken at IITK for my MSc credits in CMI. It is offered by Piyush P Kurur. The notes are quite detailed. I missed the first few classes of this course where he discussed the extended euclid's algorithm and an introduction to groups, fields, rings


Click here to download the files :
The source/sty files are available here. Or one could just keep files.tar.gz of the source files and the pdfs. The notes are quite detailed and might contain a lot of typos or big blunders. If you notice something seriously wrong with some parts of the notes, please let me know.
Lecture 5 and 6:Chinese Remaindering[PDF][TeX]
Lecture 7:Towards Factorization over Finite Fields[PDF][TeX]
Lecture 8:More on Finite Fields[PDF][TeX]
Lecture 9:Uniqueness of F_q[PDF][TeX]
Lecture 10:Distinct Degree Factorization[PDF][TeX]
Lecture 11:Cantor-Zassenhaus Algorithm[PDF][TeX]
Lecture 12:Berlekamp's Algorithm[PDF][TeX]
(midsem 1 syllabus ends here)
Lecture 13:Codes: An Introduction[PDF][TeX]
Lecture 14:BCH Codes[PDF][TeX]


Midsem 1 (and solutions)[PDF]
Lecture 15 and 16:BCH Codes: Error correction[PDF][TeX]
Lecture 17:Primality is in NP and coNP[PDF][TeX]
Lecture 18:Quadratic Reciprocity[PDF][TeX]
Lecture 19:Quadratic Reciprocity (contd.)[PDF][TeX]
Lecture 20 and 21:Solovay-Strassen Primality Testing[PDF][TeX]
Lecture 22:A Discussion on ERH and Toward AKS[PDF][TeX]
Lecture 23 and 24:The Cyclotomic Polynomial[PDF][TeX]
Lecture 25:The AKS Primality Test[PDF][TeX]
Lecture 26:Hensel Lifting[PDF][TeX]
Lecture 27:Bivariate Factorization[PDF][TeX]

And a single file with all the above lectures: here


During our discussion on cyclotomic polynomials over Q, we talked about attempting to write a program to compute the n-th cyclotomic polynomial on input n. I took up the challenge and wrote a program in Haskell to do it. The source is available here.
The name of the function is cyclo. It took about an hour to write the program, and is around 80 lines. I've made the code quite readable and straightforward.
Piyush wrote a Haskell program for it as well. It is very well organized and faster than my program. The tar-zipped source is available here.
Another student Piyush Srivastava wrote a C++ code for the same. The gzipped source is available here.
As a part of the student talks in CMI, I had given a presentation on the AKS Primality test. The pdf of the presentation is available here.

Computational Investigations

Computational Investigations


Introduction to Epigenetics II / Epigenetics of human diseases and computational investigations


Syllabus


Introduction; Databases
Slides (pdf)

Highthroughput technologies, genomewide DNA methylation profiling
Slides (pdf)

Exploratory analysis and Analysing multivariate genomic data
Slides (pdf)

DNA methylation prediction
Slides 1 (pdf) Slides 2(pdf)

Evolutionary aspects
Slides (pdf)

Prediction of imprinted genes
Slides (ppt)

Deamination followed by Substitution
Slides (pdf)

Computational Geometry PDF

Computational Geometry

Course Description

Topics in surface modeling: b-splines, non-uniform rational b-splines, physically based deformable surfaces, sweeps and generalized cylinders, offsets, blending and filleting surfaces. Non-linear solvers and intersection problems. Solid modeling: constructive solid geometry, boundary representation, non-manifold and mixed-dimension boundary representation models, octrees. Robustness of geometric computations. Interval methods. Finite and boundary element discretization methods for continuum mechanics problems. Scientific visualization. Variational geometry. Tolerances. Inspection methods. Feature representation and recognition. Shape interrogation for design, analysis, and manufacturing. Involves analytical and programming assignments.

This course was originally offered in Course 13 (Department of Ocean Engineering) as 13.472J. In 2005, ocean engineering subjects became part of Course 2 (Department of Mechanical Engineering), and this course was renumbered 2.158J.

Lecture Notes

LECTURE NOTES
Lecture 1 (PDF)
Lecture 2 (PDF)
Lecture 3 (PDF)
Lecture 4 and 5 (PDF)
Lecture 6 (PDF)
Lecture 8 (PDF)
Lecture 9 (PDF)
Lecture 10-12 (PDF)
Lecture 13 (PDF)
Lecture 14 and 15 (PDF)
Lecture 19 (PDF)
Lecture 20 (PDF)
Lecture 21 (PDF)
Lecture 23 (PDF)