Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Course F21SC: Industrial Programming Course F21SC: Industrial Programming Home Course structure Slides Coursework Reading List HOWTOs FAQ This is the main course information page for the course "Industrial Programming" (F20SC/F21SC). Click here for the Canvas module. As a starting point for this course, this is a very good article, published in IEEE Computer, summarising the characteristics of scripting languages compared to general purpose programming languages. A Guide for Independent Learners is available here. Purpose and Learning Objectives The purpose of the Course F21SC Industrial Programming is to deepen the understanding of a range of programming languages and to obtain a critical understanding of the outstanding features of each of the languages. In doing so, it provides advanced programming language skills, exercised through a series of courseworks. In particular, this course conveys the idea of scripting languages acting as glueware between components of existing software systems in order to build large systems. Learning Objectives: Appreciation of role of different programming paradigms in configuring/managing systems: Object-oriented: good at structuring large code Imperative: good at performance Functional: good at abstraction Logic: good at reasoning Autonomous problem analysis/solution: Really understand the problem to pick the right paradigm/approach for producing a solution Understanding of core characteristics of contemporary operating systems: make good use of available resources Appreciation of role of language as glue wear in configuring/maintaining systems: Scripting languages combine existing code Knowledge of key abstractions across programming languages: Write reusable and maintainable code Technical proficiency in advanced techniques in different programming paradigms: Learn the Best of all Worlds Pre-requisites: Solid knowledge of an object-oriented language, eg. Java. General software engineering skills in working with complex systems Course Structure The weekly schdedule is: Most lectures are delivered asyncronously, online as captured lectures for you to view in your own time. There is a 1 hour sync, online slot, for a summary of the material in that week. Lecture slot: Mon 11:00 online (Collaborate Ultra webinar) Lab slot: Tue 13:00 online (Collaborate Ultra webinar) Lab slot: Fri 17:00 in-person (EM 2.45/EM 2.50; optional) Week 6: Consolidation week The course is structured into 3 main blocks, covering the following material: Block 1: Linux Introduction and Basic Shell Scripting (1 week) Block 2 : C# Programming (6 weeks) Block 3: Python Programming (5 weeks) Assessment: Assessed Coursework: 2 pieces, each contributing 50% There is no exam for this module. Learning Material The table below refers to the learning material for this course per week: Lecture Lecture Sample Sources Labsheets Recommended Reading Week 1 Overview (4up) C# Fundamentals (4up) here C# Fundamentals Article on scripting langs Week 2 .Net and C# Introduction (4up) C# Objects & Classes (4up) here C# Classes Live: Labs: , , Learning C# (Chapter 2) Week 3 C# Data Manipulation (4up) DB access in C# and LINQ (4up) here Coding Challenge LINQ with C# (Ch 2-6) Week 4 Advanced C# Features (4up) Generics & Delegates example (4up) here Advanced C# C# GUIs (4up) Week 5 Reflection (4up) C# Systems Programming (4up) here Advanced C# C# Unit testing Week 6 Reading Week Week 7 Parallel Programming in C# (4up) here Threading in C# (4up) ♦ Week 8 Python Intro & Control Structures (4up) here Python Fundamentals Python Tutor Week 9 Python Classes & Exceptions (4up) here Python Classes Python CatchUp Week 10 Python Libraries and Tools (4up) here HOWTO use x2go Week 11 Advanced Python Constructs (4up) here Advanced Python Week 12 Functional Programming in Python (4up) here Functional Programming in Python ♦ Sample Sources: for C# and Sample solutions for the early C# exercises. (all early C# exercises). Here sample sources for Python (download all Python samples). Captured lectures: MS stream channel of F20SC/F21SC lecture captures for 2020/21. Extras: Lecture Capture of the Generics and Delegates Example: QuickSort , Lecture Capture of C# Revision Technical HOWTOs and online accessibility For online and responsive blended learning (RBL) delivery, here are some HOWTOs on accessing basic resources of relevance for the course. These are also available in the resources section of the Canvas module for this course: Gitlab usage: How to do exercises with the gitlab-student server How to do exercises with the gitlab-student server, using Visual Studio Code as IDE HOWTO connect the Visual Studio IDE with the gitlab-student server (3 parts) , , HOWTO add SSH keys into GitLab - Linux HOWTO add SSH keys into GitLab - Windows HOWTO register with gitlab HOWTO ask for programming help in gitlab Learning Gitlab from IDEs and tools: HOWTO get started with VisualStudio (Hello world and command-line argument examples) HOWTO use customised Visual Studio exercises Setting up Visual Studio or Visual Studio Code for our lab exercises Installing Visual Studio from Visual Studio Code for Web Developers from HOWTO install Mono on Ubuntu HOWTO publish a Visual Studio application Visual Studio Code for Web Developers from Up and Running with GitHub and Visual Studio 2019 (external) Using Git with Visual Studio (external) connect-visual-studio-gitlab TOCHECK Technology access (mostly HWU specific): HOWTO use the keyserver to access Windows lab machines (from Linux) HOWTO use the keyserver to access Windows lab machines Keyserver guidance document HOWTO use x2go to access Linux lab machines How to use x2go to log into the Linux Lab machines HOWTO submit CW on Vision HOWTO Download webinar recordings from Vision Canvas info for students HOWTO download and install the MACS Linux VM C# related topics: HOWTO run sample source code in Visual Studio HOWTO run a console application taking command-line input C# GUIs HOWTO set-up unit testing in C# Python related topics: Python Cheat Sheet More information is collected in the Canvas module VIF2PG (Inductiona Computer Science Postgraduate Students). Coursework Each coursework requires an implementation of a simple application (either in C# or Python). Additionally, you must summarise the application in a report, following the structure specified in the assignment. Submit report, sources and a stand-alone application, all electronically, through Canvas. Coursework specifications will be handed out in Weeks 3 and 9. Coursework deadlines will be in Weeks 7 and 13, respectively. Coursework 1: Deadline: 3:30pm Tue 26.10.2021 (Canvas) (CW1 for F20SC, CW1 for F21SC) CW1 discussion video Coursework 2: Deadline: 3:30pm Tue 7.12.2021 (Canvas) (CW2 for F20SC, CW2 for F21SC) (see this info on the issuu data set format) Use this sign-up sheet for CW2 teams. Use this gitlab-student repo as starting point for the Python coding. Test data and results for also-likes (CW2) Lecture capture of an explanation of the also-likes functionality in CW2: Reading List There is a reading list for this course on Blackwell's reading-lists portal. Jesse Liberty, Brian MacDonald, Learning C# 3.0, O'Reilly, 2009. Ian Griffiths Programming C# 8.0, O'Reilly, May 2019. Joseph Albahari, Ben Albahari, C# 7.0 in a Nutshell: The Definitive Reference, O'Reilly, Oct 2017. ISBN-13: 978-1491987650 (author site) Kurt Normark, Object-oriented Programming in C# for C and Java Programmers, 2010. On-line version The C# Programming Language for Java Developers, MS network Eric Gunnerson, A programmer’s Introduction to C# 5.0, Springer, 2012. ISBN-13: 978-1430245933. Andrew Birrell, An Introduction to programming with C# Threads, Microsoft, 2005. Learning C# by Programming Games, Arjan Egges, Jeroen D. Fokker, Mark H. Overmars. Springer 2013. ISBN: 978-3-642-36580-5. DOI 10.1007/978-3-642-36580-5. Arnold Robbins, Classic Shell Scripting: Hidden Commands that Unlock the Power of Unix, O'Reilly, 2005. Mark Lutz, Learning Python, 5th edition, O'Reilly, 2013. ISBN-10: 1449355730 Michael Dawson, Python Programming for the Absolute Beginner, 3rd edition, Cengage Learning PTR, 2010. ISBN-10: 1435455002 Tony Gaddis, Starting Out with Python, Pearson New International Edition, 2013. ISBN-10: 1292025913 Guttag, John. Introduction to Computation and Programming Using Python. MIT Press, 2013. ISBN: 9780262519632. Budd, Timothy. Exploring Python. McGraw-Hill Science, 2009. ISBN: 9780073523378. Shaw, Zed A. Learn Python the Hard Way. Other Resources Other on-line sources: Article: Scripting: Higher-level Programming for the 21st Century. On-line textbook about Parallel Patterns in C# (basis for the class on parallel programming in C#) How to Think Like a Computer Scientist (online textbook) An Introduction to Python (online textbook) Dive into Python 3 (hypertext) Google's Python Class New and other related information: TIOBE Index of Programming Languages, Oct'21 (Headline: Python programming language number 1) "Python Remains the Most Popular Programming Language", IEEE Spectrum, Aug 2018 "The incredible growth of Python" Stackoverflow article from Sep 2017 Haskell MOOC, free on-line course run by the Univ of Glasgow Copyright Except where stated otherwise, all teaching material, including lecture notes, tutorials and lab exercises, are Copyright (C) Heriot-Watt University, and respective authors. Please respect our rights over this material and contact us if you want to use it in another context. News : Coursework 1 has been handed out Lecturers: Hans-Wolfgang Loidl (HWL) Course Links : Canvas course Course Descriptor C# samples Python samples Linux Introduction Edinburgh Tech and Linux Usage External Links : Rosetta Code Slack Workspace DOCKER notes Learning C# (LinkedIn Learning) C# Essential Training (LinkedIn Learning) C# Reference (MSDN) .NET class library (MSDN) Docu-tags in Visual Studio Learning Python (LinkedIn Learning) Python cheat sheet Python Tutor Python type hints HTML Quicklist Theme song for the course Software for download: Microsoft Imagine (previously: Dreamspark) program (contact ithelp@hw.ac.uk) Related Courses: Linux Intro F21CN Coding Challenge Hans-Wolfgang Loidl Design by Minimalistic Design Icons made by Freepik from www.flaticon.com