NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department.

Slides:



Advertisements
Similar presentations
Course Outline Presentation Term: F09 Faculty Name : Asma Sanam Larik Course Name :INTRO TO COMPUTING Course Code : CSE145 Section :1 Semester : 1.
Advertisements

Integrating Parallel Computing into the Undergraduate Curriculum: Efforts at Texas State University Martin Burtscher Wuxu Peng Apan Qasem Hongchi Shi Dan.
1 Undergraduate Curriculum Revision Department of Computer Science February 10, 2010.
Computer Engineering Program Course Outcomes Assessment Prepared by Dr. Aiman El-Maleh Dept. of Computer Engineering King Fahd University of Petroleum.
Taxanomy of parallel machines. Taxonomy of parallel machines Memory – Shared mem. – Distributed mem. Control – SIMD – MIMD.
Hong Lin Computer and Mathematical Sciences University of Houston – Downtown Teaching Parallel and Distributed Computing Using a Cluster Computing Portal.
1 i206: Distributed Computing Applications & Infrastructure 2012
TOPIC A Practitioners view of Software Engineering Undergraduate and Graduate degree programs at FSU. What are the courses would add value to existing.
Introduction to Computer Science CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
MS DB Proposal Scott Canaan B. Thomas Golisano College of Computing & Information Sciences.
OS Fall ’ 02 Introduction Operating Systems Fall 2002.
Course Introduction CS 1037 Fundamentals of Computer Science II.
1  1998 Morgan Kaufmann Publishers Lectures for 2nd Edition Note: these lectures are often supplemented with other materials and also problems from the.
Programming Languages Structure
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Chapter 6: An Introduction to System Software and Virtual Machines
COMPUTER SYSTEMS An Integrated Approach to Architecture and Operating Systems Chapter 14 Epilogue: A Look Back at the Journey ©Copyright 2008 Umakishore.
COM181 Computer Hardware Ian McCrumRoom 5B18,
Sadegh Aliakbary Sharif University of Technology Fall 2011.
1 Instant replay  The semester was split into roughly four parts. —The 1st quarter covered instruction set architectures—the connection between software.
Jawwad A Shamsi Nouman Durrani Nadeem Kafi Systems Research Laboratories, FAST National University of Computer and Emerging Sciences, Karachi Novelties.
+ CS 325: CS Hardware and Software Organization and Architecture Introduction.
Ekrem Kocaguneli 11/29/2010. Introduction CLISSPE and its background Application to be Modeled Steps of the Model Assessment of Performance Interpretation.
Early Adopter Introduction to Parallel Computing: Research Intensive University: 4 th Year Elective Bo Hong Electrical and Computer Engineering Georgia.
TEMPUS JEP : TEACHING BUSINESS INFORMATION SYSTEMS CURRICULUM DEVELOPMENT Information Technology courses Second Project Meeting, Belgrade, January.
Computer System Architectures Computer System Software
CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
Sadegh Aliakbary Sharif University of Technology Spring 2011.
Adding PDC within a Six-Course Subset of the CS Major Apan Qasem Texas State University.
Thinking in Parallel Adopting the TCPP Core Curriculum in Computer Systems Principles Tim Richards University of Massachusetts Amherst.
CSC 113 Java Programming II
Sadegh Aliakbary Sharif University of Technology Fall 2010.
Integrating Parallel and Distributed Computing Topics into an Undergraduate CS Curriculum Andrew Danner & Tia Newhall Swarthmore College Third NSF/TCPP.
Sadegh Aliakbary Sharif University of Technology Fall 2012.
Spreading Curricular Change in PDC: Some Practical Tools This material is based on work supported by the National Science Foundation under Grant Nos. DUE / /
Early Adopter: Integrating Concepts from Parallel and Distributed Computing into the Undergraduate Curriculum Eileen Kraemer Computer Science Department.
SJSU SPRING 2011 PARALLEL COMPUTING Parallel Computing CS 147: Computer Architecture Instructor: Professor Sin-Min Lee Spring 2011 By: Alice Cotti.
Guiding Principles. Goals First we must agree on the goals. Several (non-exclusive) choices – Want every CS major to be educated in performance including.
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
Master Program (Laurea Magistrale) in Computer Science and Networking High Performance Computing Systems and Enabling Platforms Marco Vanneschi 1. Prerequisites.
COMPUTER ORGANIZATIONS CSNB123. COMPUTER ORGANIZATIONS CSNB123 Why do you need to study computer organization and architecture? Computer science and IT.
Practices of Integrating Parallel and Distributed Computing Topics into CS Curriculum at UESTC Guoming Lu University of Electronic Science and Technology.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
CS 671 Compilers Prof. Kim Hazelwood Spring 2008.
Summary and Review. Course Objectives The main objectives of the course are to –introduce different concepts in operating system theory and implementation;
Summary Background –Why do we need parallel processing? Moore’s law. Applications. Introduction in algorithms and applications –Methodology to develop.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
Early Adopter: Integration of Parallel Topics into the Undergraduate CS Curriculum at Calvin College Joel C. Adams Chair, Department of Computer Science.
Computer Architecture Souad MEDDEB
Fall-11: Early Adoption of NSF/TCPP PDC Curriculum at Texas Tech University and Beyond Yong Chen Yu Zhuang Noe Lopez-Benitez May 10 th, 2013.
Multi-Semester Effort and Experience to Integrate NSF/IEEE-TCPP PDC into Multiple Department- wide Core Courses of Computer Science and Technology Department.
Compiler Construction (CS-636)
Overview of Operating Systems Introduction to Operating Systems: Module 0.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Cheating The School of Network Computing, the Faculty of Information Technology and Monash as a whole regard cheating as a serious offence. Where assignments.
Incorporating PDC Topics into University Level Digital Principles Class Abstract: Digital Computer Principles (CSC 115) is a university wide freshman level.
Microprocessors CSE- 341 Dr. Jia Uddin Assistant Professor, CSE, BRAC University.
“A Learner-Centered Computational Experience in Nanotechnology for Undergraduate STEM Students” IEEE ISEC 2016 Friend Center at Princeton University March.
Elec/Comp 526 Spring 2015 High Performance Computer Architecture Instructor Peter Varman DH 2022 (Duncan Hall) rice.edux3990 Office Hours Tue/Thu.
CSC207 Fall 2016.
CSc 020: Programming Concepts and Methodology II
Accelerators to Applications
课程名 编译原理 Compiling Techniques
CS 21a: Intro to Computing I
CMPE419 Mobile Application Development
Computer Systems Summary
CSC Classes Required for TCC CS Degree
Course Outline for Computer Architecture
CMPE419 Mobile Application Development
Computer Engineering Department Islamic University of Gaza ECOM 6301
Presentation transcript:

NSF/TCPP Early Adopter Experience at Jackson State University Computer Science Department

Agenda Background Curriculum Changes Early Adopting Courses Students Feedback Future Work

Background Jackson State University (JSU) has a student population that is over 90% from under- represented groups About 25% of our students are females This NSF/IEEE-TCPP Curriculum Initiative award will therefore have a direct impact on minorities specifically in the Computer Science field

Curriculum Changes The computer science department at Jackson State University is updating its curriculum according to the new ABET guidelines. The computer science new curriculum at JSU is a 125 credit-hour program of which 57 in computer science. Some advanced computer architecture topics are moved to elective courses. Some advanced computer architecture topics are moved to elective courses. This may prevent students from learning about important PDC topics such as pipelining, superscalar architectures, Multiprocessors and Multi-core processors, and GPU programming.

Early Adopting Courses 1)CSC 216 Computer Architecture and Organization 2)CSC 218 Fundamentals of Data Structures 3)CSC 312 Advanced Computer Architecture 4)CSC 325 Operating Systems 5)CSC 350 Organization of Programming Languages 6)CSC 425 Parallel Computing

CSC 216 Computer Architecture and Organization Covers the basic concepts of computer architecture which includes : – machine level representations of data – computer arithmetic – instruction set architecture and assembly language, – datapath and control – memory system – and bus architectures and I/O devices A new PDC module will be added to this course to introduce students to multi core processors and GPU hardware. Also, throughout the course, parallelism at different levels will be discussed.

CSC 218 Fundamentals of Data Structures Previously called CSC 119 Object Oriented Programming in Java Covers inheritance, polymorphism, interfaces, exception handling, streams and file input/output, recursion, dynamic data structures (linked lists, stacks, queues, hash tables, graphs, trees) and associated algorithms For supporting parallel computing, Java has the Thread class and the Runnable interface, and it also provides rich primitives with the java.util.concurrent packages, which include the fork/join framework. Students can explore these features in Java for parallel computing.

CSC 312 Advanced Computer Architecture This course is becoming an elective under the new curriculum. Covers various advanced topics of PDC curriculum such as: – instruction level parallelism: pipelining and superscalar architectures – processor level parallelism: array processors, multi-processor and multi- computer systems. – Techniques to reduce instruction pipeline stalls, – Direct map and set associative caches are analyzed – Quantitative approaches of computer performance are emphasized. A new PDC module will be added to this course to introduce students to bench marks and how they can be used to differentiate between various parallel systems performance.

CSC 325 Operating Systems This course introduces the major concepts of process communication and synchronization, protection, performance measurement, and causes and evaluations of the problems associated with mutual exclusions and process synchronization among concurrent processes. It also, introduces and analyzes various operating systems in terms of processor management, memory management, device management, information management, and distributed systems management. A PDC module will be added to this course to extend process synchronization issues to parallel programming concepts. With this module, the course will provide students with parallel thread programming opportunities.

CSC 350 Organization of Programming Languages Covers several issues in language design, including typing regimens, data structure models, control structure models, abstraction, virtual machines, language translation, interpreters, compiler design, lexical analysis, parsing, symbol tables, declaration and storage management, code generation; and optimization techniques. In this course, after a brief review of the features in Java for supporting parallel computing (taught in CSC218), parallel programming assignments will be given for gaining hands-on experience. Generic concepts in parallel computing will be also introduced.

CSC 425 Parallel Computing This is a newly developed elective. Only one student registered for the Parallel Computing class offered this fall semester, which resulted in cancelling the class. A study of hardware and software issues in parallel computing. Theoretical and practical survey of parallel processing, including a discussion of parallel architectures, parallel programming languages, and parallel algorithms. Programming on multiple parallel platforms in a higher-level parallel language. From this course, the students will learn how to write parallel programs on three different parallel architectures: i) shared memory model- thread programming; ii) Cluster- Message passing Computing; and iii) Multicore- GPU Programming.

Students Feedback A Survey of six questions was distributed among ACM computer science students. Results reported as follows with Min=1 and Max=4: Q1:Please rate your current knowledge about PDC. AVG=1.4 Q2: Please, rate the breadth of PDC topics covered in the computer science curriculum at JSU. AVG=1.4 Q3: Please, rate the depth of PDC topics covered in the computer science curriculum at JSU. AVG=1.5 Q4: Please, rate your overall learning experience of PDC at the computer science department at JSU. AVG=1.5 Q5: Will you be interested in pursuing a career that requires PDC solid knowledge? AVG=2.5 Q6: Will you be interested in registering for Advanced PDC class if offered during fall or spring semesters? AVG=3.0

Students Feedback Comments “I don't have knowledge of PDC. It would be helpful if we learned about this topic in our classes. This could help with strengthening our programming skills. Activities or projects during class would be helpful.” “One could provide real world Applications of PDC. If it is a class make sure that you provide real world application as well as theory. The combination of both solidify its importance and build interest.” “I think it is very relevant, but at the same time, I don't know anything about it. I just know that our curriculum is already filled with classes, and it's tough trying to manage those classes.” “The topic should be touched in classes at every level. For a topic like this, the students should start learning about it as freshmen so that they can increase understanding of it over time.” “PDC careers should be discussed more and more. More hands on activities.” “We had thread programming in OS and communication threads in Networks, but I would like to see work with other forms, such ass parallel programming with small circuit boards, such as Rasberry Pi's connected and communicating through MPI coding.” “A lab will do a great difference if associated with the course.”

Future Work By the end of this semester, we should have assessment data and feedback from both students and faculty members which will guide us develop a more comprehensive plan to integrate PDC topics into our curriculum for the coming semesters. Course Continuous Improvement is a requirement that ABET accreditation teams always look for. Our Department FCARs (Faculty Course Assessment Reports) will include PDC modules to satisfy this requirement.