Skip to content

umairsajid/Homeworks

 
 

Repository files navigation

Homeworks

University of Western Assignments/Homeworks that I've done over my degree.

  • Courses
    • [Web Development (CS3336)](#CS3336 - Web Development)
    • [Image Compression (CS4481)](# CS4481 - Image Compression)
    • [Organization of Programming Languages (CS3342)](#CS3342 - Organization of Programming Languages)
    • [Analysis of Algorithms I (CS3340)](#CS3340 - Analysis of Algorithms I)

Courses

CS2210 - Data Structures and Algorithms

Course Objectives

The purpose of this course is to provide the students with solid foundations in the basic concepts of programming: data structures and algorithms. The main objective of the course is to teach the students how to select and design data structures and algorithms that are appropriate for problems that they might encounter. This course is also about showing the correctness of algorithms and studying their computational complexities. This course offers the students a mixture of theoretical knowledge and practical experience.

The study of data structures and algorithms is carried out within an object-oriented framework. When implementations are considered, the Java programming language is used.

Topics covered in this course include:

  • analysis of algorithms
  • dictionaries, hash tables
  • trees, binary search trees, multi-way search trees, (2,4)-trees, B-trees
  • graphs, graph traversals, graph algorithms
  • sorting.

Assignments

CS3336 - Web Development

Course Objectives

[Course Website] (http://babanski.com/teaching/cs3336a-web-development-fall-2013)

This course provides a comprehensive introduction to many important topics in web design and development. Areas covered include quick overview of HTML, XHTML, CSS and JavaScript. jQuery (with AJAX), XML and JSON are covered as well, as they assist in building efficient cross-browser web applications. The fundamentals of LAMP (Linux-Apache-MySQL-PHP) model are covered comprehensively. The primary goal of the course is to teach students some of the advanced web technologies that are widely used by IT professionals to develop web-based information systems.

CS3342 - Organization of Programming Languages

Specification and analysis of programming languages; data types and structures; bindings and access structures; run-time behavior of programs; compilation vs. interpretation. Comparative presentation of at least three programming languages addressing the above concepts. Languages used in this course include Scheme and Prolog.

CS4481 - Image Compression

Dealing with digital pictures (images) requires far more computer memory and transmission time than is needed for plain text. This course provides students with a solid understanding of the fundamentals and the principles of various digital still-image compression schemes.

CS3340 - Analysis of Algorithms I

Course Website

Data Structures are methods of organizing data involved in computation. Algorithms are precisely stated, general problem solving methods suitable for computer implementation. Data structures and algorithms are central objects of study in computer science. Once appropriate data structures and algorithms are chosen, all that remains in most computer programs is routine coding. Moreover, data structures and algorithms go hand in hand: neither can be studied fruitfully without knowledge of the other. The course studies the relationship between data structures and algorithms. The course concentrates on techniques for evaluating the performance of algorithms. The relationship between inductive proof and creative evolution of algorithms is investigated.

Topics

  • mathematical induction, big O nation, recurrence relations,
  • Algorithm design techniques: devide and conquer, dynamic programming, greedy algorithms, backtracking
  • searching and sorting, union-find,
  • trees, red-black trees,
  • string matching and sequence comparison, Huffman codes,
  • graph algorithms
  • NP-completeness.

Assignments

CS3307 - Object-Oriented Design and Analysis

Software design and analysis techniques with particular emphasis on object-oriented design and analysis; a team project will be developed using an object-oriented language such as Java, C++ or Smalltalk.

About

University of Western Assignments/Homeworks that I've done over my degree.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 45.2%
  • C++ 23.2%
  • Java 12.1%
  • Makefile 7.4%
  • PHP 6.2%
  • HTML 3.2%
  • Other 2.7%