# SALT MINE 2021 Minutes
#### 5.00pm - 6.30pm, 24/03/2021
## Junior feedbacks
### 50.003 Elements of Software Construction
#### Problem 1 (Sudipta course calendar)
- no proper course calendar
- Tentative course calendar but not really following it too
- Disorganised
#### Action
- letting sudipta know
#### Problem 2 (Shuhao's lessons)
- Dry lessons
- Ability to engage students is limited
- Not much cohort activities, not much examples
- The way he teach confuses students
- Tendency to assume that students already know certain ideas/points
- he did asked the students whether they understood, but there was a lack of responses from students
- Eg. UML diagrams - he overcomplicates the subject
- Eg. Multiprocessing - if we only have one core in your computer, if we write a multiprocessing program would it be faster? He didn't explain further as well..
#### Action
- We will let him know, thank you for the feedback
#### Problem 3 (Curriculum of ESC)
- Perceived lack of structure in ESC in general
- A lot of self-learning as students lack the skills for web development, which is offered as a project option for their ESC project
- Fundamentals of web engineering not covered in term 4, so projects in term 5 was confusing and novel.
- Would be nice to have a more guided approach to pick up the skills (maybe be part of the curriculum first?)
- Project requirements could be better clarified, especially at the start and for Project 3 (which involves web dev) - students expected to make Android app at first
- Students could be taught to use testing suites rather than to test and evaluate tests by hand
- How to apply? how to test? The most important questions in software engineering were not answered.
#### Action
- When selecting the project, we will take note of the pre-requisite first
- We will improve on the project description first before releasing it (and maybe filter them out)
- 2 options:
- Remove industry collaboration
- Streamline curriculum more towards modern programing/project requirements
- We might consider changing to a prof more suitable for software eng
#### Note
- Projects change year by year
- Changing requirements/pre-requisite in the selection process of project as sometimes the client cannot disclose information
### 50.003 CSE
#### Problem 1 (CSE lessons: Prof. David vs Prof. Nat)
- Prof Nat is more interactive
- Prof David's lectures is more one-way, involves less activities
#### Action
- Perhaps can incorporate more hands-on activities, coding examples, as compared to mere theory?
### Miscellaneous
#### Problem 1 (Overloading)
- Can you overload to discount mods for future terms (lighten of load for future terms)
#### Action
- Future batches might not experience it
- Raise it up to Prof Pey, as it is a uni-wide policy
Notes
- Alternative term 5 electives instead of Probs and Stats (fundamentals -> push forward by 1 term to make it earlier)
- Machine learning
- "Advanced algo and Discrete maths" by prof Ernest (subject to change) so that students can better apply for jobs and intern
- Database module a possibility (NUS teaches RDBMS in term 3)
- Possibility of a software engineering track
## Senior feedback
### Online lessons
#### Problem 1 (Network Security)
- Make Weds lesson online
- first 30mins TA talking (it is too early)
- other lesson otot
#### Problem 2 (Deep learning)
- Possible to make more of deep learning online? (not necessarily widespread)
### UI/UX
#### Problem 1 (Consultation session)
- instead of having him go through all groups, just go one longer session for each group (like how Capstone did it)
### DL vs CL
#### Problem 1 (Similarity)
- DL and CV are too similar
- Make DL a pre-requisite for CV?
#### Action
- Future batches won't have this issue as syllabus change (will be brought forward)
- Cannot make DL a pre-requisite for CV? - no as go through do different content
- Similar stuff would be a refresher instead
### GAP year support (please correct this)
#### Problem 1
- some students failed freshmore / term4, without algo, can proceed to t5, but you have problem when t6 and t7
- you are restricted to certain electives due to not meeting pre-requisites
- priorities are given to ISTD students with pre-requisites
#### Action
- based on the number of people taking course, prof make exceptions and make a new class group etc
### Cloud Computing and IOT
- It is not a cloud computing mod -> missing key concepts and competencies that cloud engineers need to develop...
- tonnes of mistakes
- Training DL model on Google Colab for lab (wat)
- Very poor for a cloud computing course, I understand that this is the first run of the course, but please take note that this course is missing alot of content that is demanded in the industry.
- more than 2 weeks spent learning how to do stream data processing
- should be a separate big data mod instead..
- this is not cloud computing!
- lab makes one wonder if he is in dl class
- should have talked about different ways to deploy (?) - missed opportunities to discuss cloud technology choices
- get prebuilt model, but in lab people wants to learn different archi for real-time inference stuff
- IOT part -> sending data to cloud, but we don't learn much about cloud, we learnt too much on tech, not the archi on designing the cloud
- first 6 weeks were really difficult
- spend more time inside aws!! logged in only TWICE
- sub-net design application is in here
- suggestion: design to be sequel to networking class
So much time spent on theory of technologies present in the cloud, but not how to use them properly or training on how to design a resilient architecture for a given use case. Examples:
- Missing core cloud concepts such as distinguishing between Global/Region/AZ Resilience
- Missing core cloud networking fundamentals such as subnet and VPC design, NAT gateways, elastic IPs and elastic network interfaces...
- Where's the talk about how to DESIGN scalable architectures? I'm sure you know you cannot slap a load balancer in front of anything and call it a day. Application level and network level load balancers, session stickiness, instance lifecycle in autoscaling groups.... so much to discuss...
- Went way too deep into MapReduce and the other batch/stream analytics software. This is covered by at least two other modules in ISTD. Cloud computing mod should be about the INTEGRATION of these services.
- Docker & microservices hello world, but don't do any discussion about all the different ways to deploy containerised applications on the cloud (ECS-EC2, ECS-Fargate, EKS are all VERY DIFFERENT!!!)
- Security chapter talks about X.509, VPN, but doesn't talk about the USES of VPN such as opening a VPN gateway between two VPCs in different clouds or a hybrid cloud (cloud & onprem) network which is very common in enterprise. So much lost opportunity to link back to the networks course because concepts like BGP would be applied here. Could have used a deeper dive into IAM, and introduction to KMS and how it integrates with other AWS services (you could have brought the discussion of SSE and CSE into S3's encryption options for very hands on lab)
- Went way too deep into machine learning, deep learning (e.g. tensorflow, activation functions.......) This is covered by at least THREE other modules in ISTD. Cloud computing mod should be about the DEPLOYMENT and INTEGRATION of machine learning services in the cloud! That one table of "AI services in the cloud" only refer to the SaaS/PaaS offerings in the cloud. Where's Sagemaker, where's Batch? You're not even going to discuss launching GPU-attached EC2 instances to do the lab?
Also quiz questions are really poorly set, alot of them are memorising use cases from the textbook like "XXX can be used for NetCDF" without testing WHY. Cover system/network/architecture design problems please!!!
In summary, this is not a cloud computing course. I'm really sorry for being harsh but if in the future I'm hiring someone and an ISTD graduate who comes and tells me their understanding of cloud computing comes from this course I would turn them away in a heartbeat. A pity for such a potentially hands on course to be reduced into 6 weeks of unrelated lectures. I hope Cloud Computing can become its own course separate from IoT.
### Miscellaneous
- Term 8 most likely all physical lessons
# change of names
- meeting provost on Friday to confirm the name change for ISTD pillar, convincing many parties
- do students need to explain what they do and explain what is the name of your degree?
- Computer Science and Design -> how to link CS and Design?
- Work with Google to have industry project element for term 6 elective
- it is still Bachelor of Engineering (yayyy) with a name change (not a Bachelor of Science, troublesome to change this)
#### What is DAI?
- is DAI a pillar?
- DAI is a program, not under ISTD
- but the faculty comes from pillar
- what is the use case of DAI? What are the job scope of people taking it?
- "A hard question" *sweat*
- before application is the foundation
- DAI assumes that people is using AI as toolbox, and you need strong foundation in AI stuff
- it takes time to develop these engineers so that they can manage?
- safest path -> ISTD
- almost no one is sure about what DAI is
- what is a program?
- a degree program on its own, NOT A PILLAR
- marketing: there are now 5 MAJORS (not pillar)
- do we take DAI + ISTD? NO
- choose ISTD now -> can choose AI later
- if you go DAI directly -> much narrower, specialise immediately
#### Action
- there is info sessions in April to clear your doubts
### Conclusion
- make courses more flexible
- can better stagger some of the courses