Teachings
CSE 101 / IT 101, Introduction to Computer Science and Information Technology
Semesters: 2015 Fall, 2016 Spring, 2016 Fall, 2017 FallBrief 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, 2021 SpringThe 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, 2021 Spring, 2021 FallThe 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
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, 2021 Spring, 2022 SpringIntroduction 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:
- Core Java Volume I, by Cay S. Horstmann
- Lecture Slides
CSE 321 / IT 321, Internet and Web Programming
Semesters: 2016 Fall, 2017 Fall, 2018 Fall, 2019 Fall, 2020 Fall, 2021 FallThis 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 SpringConceptual 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 SpringThe 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.
ST 589, Data Visualization and Computer Simulation in Education
Semesters: 2022 SpringThe course introduces the fundamentals and techniques for data visualization and model simulation. The students will learn the basic programming skills with Python and explores the libraries (e.g., turtle, pygame, matplotlib) that can be used in Computer Science education in middle/high schools.