Spring 2024 / CSCE 240: Advanced Programming Techniques
Quick Info - When and Where
Tuesday/Thursday 8:30 am – 9:45 am
In person at Swearingen 2A19. Recordings to be available on Blackboard.
Instructor Information
Instructor: Biplav Srivastava
E-mail: biplav.s AT sc.edu
Office Hours: 1130-1230 MW; other times by appointment
GitHub for slides, sample code.
Attendance Policy
Students are expected to attend lectures and also go through class videos after the lecture. They are expected to participate in quizzes, do their project and complete paper reading.
Suggested Reading
Look at the material from previous CSCE 240 Class (Spring 2023), CSCE 240 class (Spring 2022).
Get an idea of teaching style from my earlier offered courses: CSCE 590-1: Data to Decisions (Spring 2021), and CSCE 771: Computer Processing of Natural Languages (Fall 2022, Fall 2020).
Articles and papers as announced in class.
Instructor's research pages
Details
Full details will be available in syllabus here.
Bulletin Description
This will be an advanced programming techniques course in modern languages that helps you learn concepts, work as a team and solve practical problems.
Prerequisites
Experience with basic programming techniques in any language and high school mathematics is expected.
Learning outcomes
As a result of successful participation in this course, undergraduate students will be able to:
Develop language-independent understanding of programming concepts by being exposed to multiple languages (C++, Java, Python)
Independently design and implement programs in multiple language of choices (C++, Java or Python based on choice) in a Unix environment
Demonstrate mastery of pointers, iterators, memory management including object creation and destruction, and parameter passing in C++
Demonstrate mastery of object-oriented programming concepts including: inheritance, polymorphism, operator overloading, template functions and classes, and the use of
STL containers.
Develop object-oriented models using UML
Able to work in programming teams with code review and walk throughs
Solve practical problems that matter