Hello, there!

I am Wei Zheng, a computer programmer. This page is a showcase of my programming projects, including JavaScript, Database, and PHP. Thanks for stopping by!

Get in touch!

Want to hire me for a project, get questions about my work or just want to say hi? Try my online contact form!

JavaScript Filtering and Sorting Sample:

This sample shows how to use JavaScript to do the client side filtering and sorting. Please type keyword(like 'network', or 'java') below to search corresponding courses, or set level for filtering, or sort by specific column.

Text Book Course Code Description Level
CST8215 Introduction to Database CST8215 Students learn the fundamentals of Relational Databases design using Entity Relation diagrams, and use SQL to create, modify and query a database. Students design and create databases that are maintainable, secure and adaptable to change in business requirements, using Normalization. Students are able to compare and appreciate a Database Management System (DBMS) and its components with legacy systems. 1
CST8101 Computer Essentials CST8101 The essentials of computer software, hardware, and laptop management form the foundation for building further technical programming skills. Learn to configure your laptop environment, basic PC and troubleshoot problems. Create backups, install virus protection, and manage files through a basic understanding of the Windows Operating System. Install and configure the Windows Operating System, and a virtual machine environment. Explore computer organization including basic numerical systems, functional hardware and software components needed to run programs. 1
CST8116 Introduction to Computer Programming CST8116 Possessing the fundamentals of logic, problem-solving and programming language structure provides a solid foundation for further study in the field. Students develop introductory knowledge of computer programming with emphasis on problem analysis and design, using algorithms, pseudocode, flowcharts, UML Class Diagrams and testing, with the Java programming language used as a means to implement problem solution designs. Through an introduction to the Java programming language students use sequential structures, selection structures, repetition structures, variables, constants, methods, constructors, one-dimensional arrays, object-oriented programming, classes, objects, abstraction, encapsulation, inputs, outputs, coding conventions and documentation. Theory is reinforced with application by means of practical laboratory assessments. 1
CST8300 Achieving Success in Changing Environments CST8300 Rapid changes in technology have created personal and employment choices that challenge each of us to find our place as contributing citizens in the emerging society. Life in the 21st century presents significant opportunities, but it also creates potential hazards and ethical problems that demand responsible solutions. Students explore the possibilities ahead, assess their own aptitudes and strengths, and apply critical thinking and decision-making tools to help resolve some of the important issues in our complex society with its competing interests. 1
MAT8001C Technical Mathematics for Computer Science MAT8001C The study of algebraic and transcendental functions is an essential prerequisite to Calculus. Students manipulate algebraic expressions, solve algebraic equations and linear systems and learn the properties of and graph algebraic and transcendental functions. Students investigate computer number systems in addition to Boolean algebra and logic to help solve problems involving computer systems. Students also study the addition and subtraction of vectors using vector components. Delivered in a modular format, this course is equivalent to the completion of all of the following math modules MAT8100 - A, B, C, D, E, F, and L. 1
ENL1813 Communications I ENL1813T Communication remains an essential skill sought by employers, regardless of discipline or field of study. Using a practical, vocation-oriented approach, students focus on meeting the requirements of effective communication. Through a combination of lectures, exercises, and independent learning, students practise writing, speaking, reading, listening, locating and documenting information and using technology to communicate professionally. Students develop and strengthen communication skills that contribute to success in both educational and workplace environments. 1
CST2355 Database Systems CST2355 Students acquire practical experience using market-leading object-relational database management systems like Oracle and MySQL. Students obtain hands-on experience with advanced engineering modeling tools along with SQL, SQL scripts and programming with Oracle's PL/SQL blocks. Database concepts covered include advanced SQL, case structures, rollup and cube operations, metadata manipulation, data storage and retrieval, security and transaction control and data warehousing. Open source database software is also explored. 2
CST8102 Operating System Fundamentals (GNU/Linux) CST8102 Learn the basic concepts and components of Operating Systems (OS), and how they function and interact with hardware and software components. Explore the details of operating system structures, process management, storage management, installation, configuration, and administration both in theory and through practical assignments based on the GNU/Linux operating system. Lab exercises are designed to demonstrate how to implement the theory by developing skills using the powerful GNU/Linux command-line tools and utilities. 2
CST8284 Object Oriented Programming (Java) CST8284 Learn object oriented programming methodology using the Java programming language. Object oriented concepts, such as encapsulation, inheritance, abstraction and polymorphism are covered and reinforced with practical applications. 2
CST8285 Web Programming CST8285 Learn the basics of web programming, website design and implementation. JavaScript, HTML5, and PHP are used to explore web-based solutions to problems of increasing interactivity and complexity. Lectures are reinforced by practical assignments that encourage students to construct and maintain their own websites. 2
ENL2019T Technical Communication for Engineering Technologies ENL2019T The ability to communicate effectively in a technically-oriented interdisciplinary workplace is a foundational skill in an innovation-driven economy. Students are exposed to exercises and assignments designed to foster independent and collaborative critical thinking, research, writing, visual communication and presentation skills related to technical topics. 2
GEP1001 Cooperative Education Readiness GEP1001 Students are guided through a series of activities which prepares them for their co-op job search term. Through a detailed orientation students learn the cooperative education program policies and procedures related to searching and securing a work term opportunity. Students identify their strengths and transferable skills and participate in workshop style sessions that focus on cover letter and resume development, interview techniques and job search strategies. Students learn how to navigate HireAC where employers post cooperative education job opportunities. Students reflect on workplace success, ethics and responsibilities. 2
DSN2001 History of design DSN2001 Visual communications and graphic design have played a key role in the evolution of communication through a number of historical and social art movements. Graphic design has had a major impact on civilizations over the ages. Students explore graphic design’s many influences, including the invention of writing and alphabets, the origins of printing and typography, Victorian, Art Nouveau, Modern Art, and PostModern design, to the present day computer revolution and its influence on the many forms of contemporary visual communication that surround us every day. 2
CST2234 Systems Analysis and Design CST2234 Guided by industry standard software engineering methodologies, students gain hands-on experience with case studies used to develop systems from inception through elaboration, construction and transition phases. Object-oriented design, modeling tools and techniques are used to produce system specifications. Project management principles are also used within team developed projects. Software methodologies discussed include the systems development life cycle (SDLC), agile approach, rational unified process (RUP)and rapid application development (RAD). 3
CST2335 Mobile Graphical Interface Programming CST2335 Students explore graphical user interface programming in a mobile Android environment. Students learn how to program applications using the latest Android development tools. Topics include application architecture, interface design, network communication, and database integration. 3
CST8109 Network Programming CST8109 Software programming in today's environment requires detailed knowledge of the underlying network topology, its implementation and programming support functions. Gaining an appreciation and perspective of this technology is imperative to developing good network programming applications. Students explore topics including the basic structure, design and layered communications models, with an emphasis on data communications, TCP/IP protocol suite, socket programming and multi-threading concepts. Labs include practical exercises in basic networking and using socket programming, along with multi-threading, in an environment rich with common networking tools for diagnosing and troubleshooting typical network programming problems. 3
CST8288 Object Oriented Programming with Design Patterns CST8288 Implement the best practices of object oriented program development with software design patterns. Apply UML program specifications in the Java programming language. Use embedded SQL through JDBC for developing and using "data access objects". Course topics include refactoring, domain modelling, JDBC and multithreaded servlet programming. Students develop proficiency in creating, testing, debugging, deploying and documenting programs and servlets through practical application. 3
CST8283 Business Programming CST8283 Create COBOL programs in a business environment using structured methodology in the latest visual programming environment. Topics include: output design; logic design tools; structured, top-down and modular coding; testing and debugging; and documentation. The programs include interactive, file-based, and database processing of data related to business problems. Arrays, indexed files, database access and sub-programs are included. 3
CST8276 Advanced Database Topics CST8276 Teams and individuals explore advanced database topics: database administration (using Oracle), data governance, globalization, security and advances in database technology. Topic coverage includes business intelligence, data warehouses, data visualization, big data, NoSQL and graph databases. Database administration tasks requiring knowledge of database architecture are examined: relational vs. non-relational models, security, performance, database distribution, database sharing, backup and recovery. 4
CST8277 Enterprise Application Programming CST8277 With a focus on the IT Enterprise, students are introduced to the application enterprise environment using and extending the technologies learned in previous courses. Topics studied may include the Java enterprise environment (JEE), the Microsoft .NET environment, Enterprise Android programming, cloud computing, security and the corporate database repository. 4
CST8333 Programming Language Research Project CST8333 Learning a new programming language or framework on your own is a challenge faced by programmers on the job as part of their career. Students explore this process of self-study by applying project planning, applied research, testing, and implementation of basic and advanced concepts appropriate to the language or framework under study. Students develop major milestones and deliverables culminating in a project and reflective summary submission. 4
CST8334 Software Development Project CST8334 Following the agile software engineering methodology, teams work with clients to analyze business needs, determine computer system requirements, model system designs, build prototypes, test code and deliver final products. In some cases, the industry contacts are supplied through the Algonquin College office of Applied Research and Innovation. Project management techniques are used to monitor progress and organize tasks. Outside of in-class requirements, teams must participate in interviews, technical reviews, presentations and the preparation of technical reports. The culmination of the course is a final presentation and technical review, followed by the delivery of the finished product. 4
GED0336 General Education Elective GED0336 Students choose one course, from a group of general education electives, which meets one of the following four requirements: Arts in Society, Civic Life, Social and Cultural Understanding, and Science and Technology. 4