Teachings

CSE 101 / IT 101, Introduction to Computer Science and Information Technology

Semesters: 2015 Fall, 2016 Spring, 2016 Fall, 2017 Fall

Brief overview of the discipline of computer science and information technology topics including computer architecture, operating systems and networks, automata and models of computation, programming languages and compilers, algorithms, databases, security and information assurance, artificial intelligence, graphics, and social/ethical issues of computing.


CSE 107 / IT 107, Introduction to Computer Programming using Python

Semesters: 2015 Fall, 2016 Spring, 2016 Fall, 2017 Spring, 2017 Fall, 2018 Spring, 2018 Fall, 2019 Spring, 2019 Fall, 2020 Spring, 2020 Fall

The course is designed to introduce programming and its applications to scientists and engineers. The first part of the class focuses on problem solving, algorithm development, top-down design, modular programming, debugging, testing, data types, flow-control, looping, iteration and recursion, fundamental data structures, and an introduction to object oriented programming. The second part of the class explores data analysis with Python.


CSE 113/IT 113, Introduction to C Programming Language

Semester: 2018 Fall, 2019 Spring, 2019 Fall, 2020 Spring, 2020 Fall

The course is designed to introduce problem solving and programming in C to Computer Science majors and those interested in applications of the language that involve dynamic structures and memory management. Topics include algorithm development; top-down design; modular programming; debugging; testing; control structures including selection, iteration and recursion; number systems; data representation; data types including arrays, strings, pointers and dynamic structures involving memory management. Concepts implemented through extensive programming using good programming style.

Challenge Exam Info (2020 Fall):

The exam contains oral test and coding test. The student needs to do the exam orally with a webcam in a Zoom meeting room which logged in with his/her Tech email account. The question types include multiple choice and short answer questions. The recommending readings are:
  • C Programming: A Modern Approach, (2nd Edition) by K.N. King. W. W. Norton. 2008.
  • Lecture Slides
During the coding test, the student needs to share his/her screen on Zoom all the time showing how he/she solve the problems. The TA might ask the student a few questions or run the codes on the students' machine. The student needs to tarball the file after finish all the requirements and send the file to the TA and the instructor. The rules of coding test can be found in here. You could also practice the exercises in the simplified labs for the exam.

Note: During the test, Zoom is recording the meeting.


CSE 213 / IT 213, Introduction to Object Oriented Programming

Semester: 2016 Spring, 2019 Spring, 2020 Spring

Introduction to programming in an object oriented language (e.g., Java): review of problem solving, algorithm development, top-down design, modular programming, debugging, testing, control structures including selection, iteration and recursion, data types including arrays, strings, pointers, and dynamic structures. Object oriented concepts will include: objects, classes, inheritance, instances, methods, interfaces, packages, encapsulation, and polymorphism. Concepts implemented through extensive programming using good programming style.

Challenge Exam Info (2020 Spring):

The exam contains writing test and coding test. The question types in writing test are multiple-choice, short answer, short program, and debugging. The recommending readings are:
The rules of coding test can be found in here. You can also practice the exercises in the simpified labs for the exam.


CSE 321 / IT 321, Internet and Web Programming

Semesters: 2016 Fall, 2017 Fall, 2018 Fall, 2019 Fall, 2020 Fall

This course has a practical emphasis on the design and techniques for developing internet-based applications, mainly focusing on web programming. Topics include HTML, client-side scripting language (JavaScript), server-side programming (Servlets, JSP, and J2EE), and XML/web services (Java and .NET). This course will also cover some important topics needed for internet-based application developments, such as Internet architectures, basic object-oriented programming (OOP) concepts, and web security. Course work includes substantial programming homework and team-based projects.



CSE 373, Introduction to Database Systems

Semesters: 2018 Spring

Conceptual modeling and database design using the entity-relationship model. The relational model; relational algebra and relational query languages; design theory for relational databases. Database integrity. Physical data organization. Introduction to problems of concurrency control, recovery, security, and distributed databases. Course work includes a project using SQL and the Oracle Database Management System.


CSE 389 / IT 389, Human Computer Interaction

Semesters: 2016 Spring, 2017 Spring, 2018 Spring

The course introduces the issues of designing and developing the human-computer interface. The topic includes cognitive models, user experience, design process of interaction, social computing, visual representation, and the evaluation techniques.