Free Essay

Program Design

In:

Submitted By wjn9098
Words 817
Pages 4
转:程序员练级之路 (作者:陈皓)作者: 吴江伟
建议:
* 不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。 * 回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。 * 一定要动手,例子不管多么简单,建议至少自己手敲一遍看看是否理解了里头的细枝末节。 * 一定要学会思考,思考为什么要这样,而不是那样。还要举一反三地思考。
注:你也许会很奇怪为什么下面的东西很偏Unix/Linux,这是因为我觉得Windows下的编程可能会在未来很没有前途,原因如下:

* 现在的用户界面几乎被两个东西主宰了,1)Web,2)移动设备iOS或Android。Windows的图形界面不吃香了。 * 越来越多的企业在用成本低性能高的Linux和各种开源技术来构架其系统,Windows的成本太高了。 * 微软的东西变得太快了,很不持久,他们完全是在玩弄程序员。详情参见《Windows编程革命史》
所以,我个人认为以后的趋势是前端是Web+移动,后端是Linux+开源。开发这边基本上没Windows什么事。
启蒙入门
1、 学习一门脚本语言,例如Python/Ruby
可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。实践项目:
* 处理文本文件,或者csv (关键词 python csv, python open, python sys) 读一个本地文件,逐行处理(例如 word count,或者处理log) * 遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果 * 跟数据库打交道 (python sqlite),写一个小脚本统计数据库里条目数量 * 学会用各种print之类简单粗暴的方式进行调试 * 学会用Google (phrase, domain, use reader to follow tech blogs)
为什么要学脚本语言,因为他们实在是太方便了,很多时候我们需要写点小工具或是脚本来帮我们解决问题,你就会发现正规的编程语言太难用了。
2、 用熟一种程序员的编辑器(不是IDE) 和一些基本工具 * Vim / Emacs / Notepad++,学会如何配置代码补全,外观,外部命令等。 * Source Insight (或 ctag)
使用这些东西不是为了Cool,而是这些编辑器在查看、修改代码/配置文章/日志会更快更有效率。
3、 熟悉Unix/Linux Shell和常见的命令行 * 如果你用windows,至少学会用虚拟机里的linux, vmware player是免费的,装个Ubuntu吧 * 一定要少用少用图形界面。 * 学会使用man来查看帮助 * 文件系统结构和基本操作 ls/chmod/chown/rm/find/ln/cat/mount/mkdir/tar/gzip … * 学会使用一些文本操作命令 sed/awk/grep/tail/less/more … * 学会使用一些管理命令 ps/top/lsof/netstat/kill/tcpdump/iptables/dd… * 了解/etc目录下的各种配置文章,学会查看/var/log下的系统日志,以及/proc下的系统运行信息 * 了解正则表达式,使用正则表达式来查找文件。
对于程序员来说Unix/Linux比Windows简单多了。(参看我四年前CSDN的博文《其实Unix很简单》)学会使用Unix/Linux你会发现图形界面在某些时候实在是太难用了,相当地相当地降低工作效率。
4、 学习Web基础(HTML/CSS/JS) + 服务器端技术 (LAMP)
未来必然是Web的世界,学习WEB基础的最佳网站是W3School。
* 学习HTML基本语法 * 学习CSS如何选中HTML元素并应用一些基本样式(关键词:box model) * 学会用 Firefox + Firebug 或 chrome 查看你觉得很炫的网页结构,并动态修改。 * 学习使用Javascript操纵HTML元件。理解DOM和动态网页(http://oreilly.com/catalog/9780596527402) 网上有免费的章节,足够用了。或参看 DOM 。 * 学会用 Firefox + Firebug 或 chrome 调试Javascript代码(设置断点,查看变量,性能,控制台等) * 在一台机器上配置Apache 或 Nginx * 学习PHP,让后台PHP和前台HTML进行数据交互,对服务器相应浏览器请求形成初步认识。实现一个表单提交和反显的功能。 * 把PHP连接本地或者远程数据库 MySQL(MySQL 和 SQL现学现用够了) * 跟完一个名校的网络编程课程(例如:http://www.stanford.edu/~ouster/cgi-bin/cs142-fall10/index.php ) 不要觉得需要多于一学期时间,大学生是全职一学期选3-5门课,你业余时间一定可以跟上 * 学习一个javascript库(例如jQuery 或 ExtJS)+ Ajax (异步读入一个服务器端图片或者数据库内容)+JSON数据格式。 * HTTP: The Definitive Guide 读完前4章你就明白你每天上网用浏览器的时候发生的事情了(proxy, gateway, browsers) * 做个小网站(例如:一个小的留言板,支持用户登录,Cookie/Session,增、删、改、查,上传图片附件,分页显示) * 买个域名,租个空间,做个自己的网站。
进阶加深
1、 C语言和操作系统调用 * 重新学C语言,理解指针和内存模型,用C语言实现一下各种经典的算法和数据结构。推荐《计算机程序设计艺术》、《算法导论》和《编程珠玑》。 * 学习(麻省理工免费课程)计算机科学和编程导论 * 学习(麻省理工免费课程)C语言内存管理 * 学习Unix/Linux系统调用(Unix高级环境编程),,了解系统层面的东西。 * 用这些系统知识操作一下文件系统,用户(实现一个可以拷贝目录树的小程序) * 用fork/wait/waitpid写一个多进程的程序,用pthread写一个多线程带同步或互斥的程序。多进程多进程购票的程序。 * 用signal/kill/raise/alarm/pause/sigprocmask实现一个多进程间的信号量通信的程序。 * 学会使用gcc和gdb来编程和调试程序(参看我的《用gdb调试程序》) * 学会使用makefile来编译程序。(参看我的《跟我一起写makefile》) * IPC和Socket的东西可以放到高级中来实践。 * 学习Windows SDK编程(Windows 程序设计 ,MFC程序设计) * 写一个窗口,了解WinMain/WinProcedure,以及Windows的消息机制。 * 写一些程序来操作Windows SDK中的资源文件或是各种图形控件,以及作图的编程。 * 学习如何使用MSDN查看相关的SDK函数,各种WM_消息以及一些例程。 * 这本书中有很多例程,在实践中请不要照抄,试着自己写一个自己的例程。 * 不用太多于精通这些东西,因为GUI正在被Web取代,主要是了解一下Windows 图形界面的编程。@virushuo 说:“ 我觉得GUI确实不那么热门了,但充分理解GUI工作原理是很重要的。包括移动设备开发,如果没有基础知识仍然很吃力。或者说移动设备开发必须理解GUI工作,或者在win那边学,或者在mac/iOS上学”。
2、学习Java
* Java 的学习主要是看经典的Core Java 《Java 核心技术编程》和《Java编程思想》(有两卷,我仅链了第一卷,足够了,因为Java的图形界面了解就可以了) * 学习JDK,学会查阅Java API Doc http://download.oracle.com/javase/6/docs/api/ * 了解一下Java这种虚拟机语言和C和Python语言在编译和执行上的差别。从C、Java、Python思考一下“跨平台”这种技术。 * 学会使用IDE Eclipse,使用Eclipse 编译,调试和开发Java程序。 * 建一个Tomcat的网站,尝试一下JSP/Servlet/JDBC/MySQL的Web开发。把前面所说的那个PHP的小项目试着用JSP和Servlet实现一下。
3、Web的安全与架构
* 学习HTML5,网上有很多很多教程,以前酷壳也介绍过很多,我在这里就不罗列了。 * 学习Web开发的安全问题(参考新浪微博被攻击的这个事,以及Ruby的这篇文章) * 学习HTTP Server的rewrite机制,Nginx的反向代理机制,fast-cgi(如:PHP-FPM) * 学习Web的静态页面缓存技术。 * 学习Web的异步工作流处理,数据Cache,数据分区,负载均衡,水平扩展的构架。 * 实践任务: * 使用HTML5的canvas 制作一些Web动画。 * 尝试在前面开发过的那个Web应用中进行SQL注入,JS注入,以及XSS攻击。 * 把前面开发过的那个Web应用改成构造在Nginx + PHP-FPM + 静态页面缓存的网站
4、学习关系型数据库
* 你可以安装MSSQLServer或MySQL来学习数据库。 * 学习教科书里数据库设计的那几个范式,1NF,2NF,3NF,…… * 学习数据库的存过,触发器,视图,建索引,游标等。 * 学习SQL语句,明白表连接的各种概念(参看《SQL Join的图示》) * 学习如何优化数据库查询(参看《MySQL的优化》) * 实践任务:设计一个论坛的数据库,至少满足3NF,使用SQL语句查询本周,本月的最新文章,评论最多的文章,最活跃用户。
5、一些开发工具
* 学会使用SVN或Git来管理程序版本。 * 学会使用JUnit来对Java进行单元测试。 * 学习C语言和Java语言的coding standard 或 coding guideline。(我N年前写过一篇关C语言非常简单的文章——《编程修养》,这样的东西你可以上网查一下,一大堆)。 * 推荐阅读《代码大全》《重构》《代码整洁之道》
高级深入
1、C++ / Java 和面向对象
我个人以为学好C++,Java也就是举手之劳。但是C++的学习曲线相当的陡。不过,我觉得C++是最需要学好的语言了。参看两篇趣文“C++学习信心图” 和“21天学好C++” * 学习(麻省理工免费课程)C++面向对象编程 * 读我的 “如何学好C++”中所推荐的那些书至少两遍以上(如果你对C++的理解能够深入到像我所写的《C++虚函数表解析》或是《C++对象内存存局(上)(下)》,或是《C/C++返回内部静态成员的陷阱》那就非常不错了) * 然后反思为什么C++要干成这样,Java则不是?你一定要学会对比C++和Java的不同。比如,Java中的初始化,垃圾回收,接口,异常,虚函数,等等。 * 实践任务: * 用C++实现一个BigInt,支持128位的整形的加减乘除的操作。 * 用C++封装一个数据结构的容量,比如hash table。 * 用C++封装并实现一个智能指针(一定要使用模板)。 * 《设计模式》必需一读,两遍以上,思考一下,这23个模式的应用场景。主要是两点:1)钟爱组合而不是继承,2)钟爱接口而不是实现。(也推荐《深入浅出设计模式》) * 实践任务: * 使用工厂模式实现一个内存池。 * 使用策略模式制做一个类其可以把文本文件进行左对齐,右对齐和中对齐。 * 使用命令模式实现一个命令行计算器,并支持undo和redo。 * 使用修饰模式实现一个酒店的房间价格订价策略——旺季,服务,VIP、旅行团、等影响价格的因素。 * 学习STL的用法和其设计概念 - 容器,算法,迭代器,函数子。如果可能,请读一下其源码。 * 实践任务:尝试使用面向对象、STL,设计模式、和WindowsSDK图形编程的各种技能 * 做一个贪吃蛇或是俄罗斯方块的游戏。支持不同的级别和难度。 * 做一个文件浏览器,可以浏览目录下的文件,并可以对不同的文件有不同的操作,文本文件可以打开编辑,执行文件则执行之,mp3或avi文件可以播放,图片文件可以展示图片。 * 学习C++的一些类库的设计,如: MFC(看看候捷老师的《深入浅出MFC》) ,Boost, ACE, CPPUnit,STL (STL可能会太难了,但是如果你能了解其中的设计模式和设计那就太好了,如果你能深入到我写的《STL string类的写时拷贝技术》那就非常不错了,ACE需要很强在的系统知识,参见后面的“加强对系统的了解”) * Java是真正的面向对象的语言,Java的设计模式多得不能再多,也是用来学习面向对象的设计模式的最佳语言了(参看Java中的设计模式)。 * 推荐阅读《Effective Java》 and 《Java解惑》 * 学习Java的框架,Java的框架也是多,如Spring, Hibernate,Struts 等等,主要是学习Java的设计,如IoC等。 * Java的技术也是烂多,重点学习J2EE架构以及JMS, RMI, 等消息传递和远程调用的技术。 * 学习使用Java做Web Service (官方教程在这里) * 实践任务: 尝试在Spring或Hibernate框架下构建一个有网络的Web Service的远程调用程序,并可以在两个Service中通过JMS传递消息。
C++和Java都不是能在短时间内能学好的,C++玩是的深,Java玩的是广,我建议两者选一个。我个人的学习经历是:
* 深究C++(我深究C/C++了十来年了) * 学习Java的各种设计模式。
2、加强系统了解
重要阅读下面的几本书: * 《Unix编程艺术》了解Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验。你一定会有一种醍醐灌顶的感觉。 * 《Unix网络编程卷1,套接字》这是一本看完你就明白网络编程的书。重要注意TCP、UDP,以及多路复用的系统调用select/poll/epoll的差别。 * 《TCP/IP详解 卷1:协议》- 这是一本看完后你就可以当网络黑客的书。了解以太网的的运作原理,了解TCP/IP的协议,运作原理以及如何TCP的调优。 * 实践任务: * 理解什么是阻塞(同步IO),非阻塞(异步IO),多路复用(select, poll, epoll)的IO技术。 * 写一个网络聊天程序,有聊天服务器和多个聊天客户端(服务端用UDP对部分或所有的的聊天客户端进Multicast或Broadcast)。 * 写一个简易的HTTP服务器。 * 《Unix网络编程卷2,进程间通信》信号量,管道,共享内存,消息等各种IPC…… 这些技术好像有点老掉牙了,不过还是值得了解。 * 实践任务: * 主要实践各种IPC进程序通信的方法。 * 尝试写一个管道程序,父子进程通过管道交换数据。 * 尝试写一个共享内存的程序,两个进程通过共享内存交换一个C的结构体数组。 * 学习《Windows核心编程》一书。把CreateProcess,Windows线程、线程调度、线程同步(Event, 信号量,互斥量)、异步I/O,内存管理,DLL,这几大块搞精通。 * 实践任务:使用CreateProcess启动一个记事本或IE,并监控该程序的运行。把前面写过的那个简易的HTTP服务用线程池实现一下。写一个DLL的钩子程序监控指定窗口的关闭事件,或是记录某个窗口的按键。 * 有了多线程、多进程通信,TCP/IP,套接字,C++和设计模式的基本,你可以研究一下ACE了。使用ACE重写上述的聊天程序和HTTP服务器(带线程池) * 实践任务:通过以上的所有知识,尝试 * 写一个服务端给客户端传大文件,要求把100M的带宽用到80%以上。(注意,磁盘I/O和网络I/O可能会很有问题,想一想怎么解决,另外,请注意网络传输最大单元MTU) * 了解BT下载的工作原理,用多进程的方式模拟BT下载的原理。
3、系统架构
* 负载均衡。HASH式的,纯动态式的。(可以到Google学术里搜一些关于负载均衡的文章读读) * 多层分布式系统 – 客户端服务结点层、计算结点层、数据cache层,数据层。J2EE是经典的多层结构。 * CDN系统 – 就近访问,内容边缘化。 * P2P式系统,研究一下BT和电驴的算法。比如:DHT算法。 * 服务器备份,双机备份系统(Live-Standby和Live-Live系统),两台机器如何通过心跳监测对方?集群主结点备份。 * 虚拟化技术,使用这个技术,可以把操作系统当应用程序一下切换或重新配置和部署。 * 学习Thrift,二进制的高性能的通讯中间件,支持数据(对象)序列化和多种类型的RPC服务。 * 学习Hadoop。Hadoop框架中最核心的设计就是:MapReduce和HDFS。MapReduce的思想是由Google的一篇论文所提及而被广为流传的,简单的一句话解释MapReduce就是“任务的分解与结果的汇总”。HDFS是Hadoop分布式文件系统(Hadoop Distributed File System)的缩写,为分布式计算存储提供了底层支持。 * 了解NoSQL数据库(有人说可能是一个过渡炒作的技术),不过因为超大规模以及高并发的纯动态型网站日渐成为主流,而SNS类网站在数据存取过程中有着实时性等刚性需求,这使得目前NoSQL数据库慢慢成了人们所关注的焦点,并大有成为取代关系型数据库而成为未来主流数据存储模式的趋势。当前NoSQL数据库很多,大部分都是开源的,其中比较知名的有:MemcacheDB、Redis、Tokyo Cabinet(升级版为Kyoto Cabinet)、Flare、MongoDB、CouchDB、Cassandra、Voldemort等。
写了那么多,回顾一下,觉得自己相当的有成就感。希望大家不要吓着,我自己这十来年也在不断地学习,今天我也在学习中,人生本来就是一个不断学习和练级的过程。不过,一定有漏的,也有不对的,还希望大家补充和更正。(我会根据大家的反馈随时更新此文)欢迎大家通过我的微博(@左耳朵耗子)和twitter(@haoel)和我交流。
—– 更新 2011/07/19 —–
1)有朋友奇怪为什么我在这篇文章开头说了web+移动,却没有在后面提到iOS/Android的前端开发。因为我心里有一种感觉,移动设备上的UI最终也会被Javascript取代。大家可以用iPhone或Android看看google+,你就会明白了。
2)有朋友说我这里的东西太多了,不能为了学习而学习,我非常同意。我在文章的前面也说了要思考。另外,千万不要以为我说的这些东西是一些新的技术,这份攻略里95%以上的全是基础。而且都是久经考验的基础技术。即是可以让你一通百通的技术,也是可以让你找到一份不错工作的技术。
3)有朋友说学这些东西学完都40了,还不如想想怎么去挣钱。我想告诉大家,一是我今年还没有40岁,二是学无止境啊,三是我不觉得挣钱有多难,难的是怎么让你值那么多钱?无论是打工还是创业,是什么东西让你自己的价值,让你公司的价值更值钱?别的地方我不敢说,对于互联网或IT公司来说,技术实力绝对是其中之一。
4)有朋友说技术都是工具,不应该如此痴迷这句话没有错,有时候我们需要更多的是抬起头来看看技术以外的事情,或者是说我们在作技术的时候不去思考为什么会有这个技术,为什么不是别的,问题不在于技术,问题在于我们死读书,读死书,成了技术的书呆子。
5) 对于NoSQL,最近比较火,但我对其有点保守,所以,我只是说了解就可以。对于Hadoop,我觉得其在分布式系统上有巨大的潜力,所以需要学习。 对于关系型数据库,的确是很重要的东西,这点是我的疏忽,在原文里补充。

Similar Documents

Premium Essay

Program Design

...refers to the operating system, the master control program that runs the computer. 2. What is System development life cycle (SDLC)? * A set of steps for solving information system problems; the basis for most systems analysis and design methodologies. * is a process of creating or altering information systems, and the models and methodologies that people use to develop these systems. 3. What are the 8 stages in SDLC? 1. System Investigation * Feasibility study determines the probability of success of proposed system’s development project. Includes … * Technical feasibility (will we be able to build the system?) * Economic feasibility (how much will it cost to build the system and how much will it benefit us?) * Behavioral feasibility (if we build the system, will it be accepted and used?) 2. Systems Analysis * Examines the business problem(s) that the organization plans to solve with information systems * Determines what the new system must do by examining: * Strengths and weaknesses of the existing system * Functions that the new systems must have to solve the business problem(s) * User information requirements for the new system * Develops initial working relationship with current end users 3. Systems Design * Describes how the system will fulfill the user requirements * Develop both logical design and physical design * Output => technical design or system specification… * system outputs...

Words: 497 - Pages: 2

Premium Essay

Program Design & Development

...Checkpoint Questions Chapter 1 1.1 A program is a set of instructions that a computer follows to perform a task. 1.2 Hardware is all of the physical devices, or components, that a computer is made of. 1.3 The central processing unit (CPU), main memory, secondary storage devices, input devices, and output devices. 1.4 The CPU 1.5 Main memory 1.6 Secondary storage 1.7 Input device 1.8 Output device 1.9 One byte 1.10 A bit 1.11 The binary numbering system. 1.12 It is an encoding scheme that uses a set of 128 numeric codes to represent the English letters, various punctuation marks, and other characters. These numeric codes are used to store characters in a computer's memory. (ASCII stands for the American Standard Code for Information Interchange.) 1.13 Unicode 1.14 Digital data is data that is stored in binary, and a digital device is any device that works with binary data. 1.15 Machine language 1.16 Main memory, or RAM 1.17 The fetch-decode-execute cycle. 1.18 It is an alternative to machine language. Instead of using binary numbers for instructions, assembly language uses short words that are known as mnemonics. 1.19 A high-level language 1.20 Syntax 1.21 A compiler 1.22 An interpreter 1.23 A syntax error 1.24 The operating system 1.25 A utility program 1.26 Application software Chapter 2 2.1 Any person, group, or organization that is asking you to write a program. 2.2 A single function that the program must perform in order to satisfy...

Words: 5516 - Pages: 23

Premium Essay

Audit Program Design

...Audit Program Design Part III Tywana Bowman University of Phoenix ACC545/Financial Accounting Professor Michael DeMarco September 26, 2010 Introduction In order to conduct a substantial audit of Apollo Shoes the auditor must obtain a sufficient understanding of the entity and the entity’s environment, including the internal control. The understanding of the entity and its environment helps the auditor in a variety of ways throughout the audit, including establishing materiality, considering appropriateness, and designing audit procedures that can facilitate the growth of Apollo Shoes. Before the auditor can begin the process of conducting the audit of the inventory and warehousing cash cycles, the auditor must prepare the audit plan and program for Apollo Shoes. Developing the audit strategy and plan aids the auditor in determining the necessary resources to perform the engagement. The auditor must develop a plan in mind that will reduce audit risk to an acceptable level for the inventory and warehousing cash cycle. The audit plan should include a description of nature, timing, and extent of the planned risk assessment procedures. The audit plan and program significantly affects the types and extent of further audit procedures to be used by the auditor in determining whether the financial statements are fairly stated in accordance with the US GAAP. The auditor should consider audit risk in relation to the individual account balances, classes of transactions, and disclosures...

Words: 1093 - Pages: 5

Free Essay

Program Design Plan

...Program Design Plan 1. Program Name |Word for Legal Administrative Assistants | 2. Program objective: | |Conditions: | | |Training room with computers, a projector, and a laptop | | | | | |Performance: | | |Use Word to type up legal briefs | | |Criteria: | | |Type up legal briefs using tool in Word | | | | | | | 3. List prerequisite skills...

Words: 294 - Pages: 2

Premium Essay

Program Design and Tools

...PROGRAM DESIGN TOOLS Algorithms, Flow Charts, Pseudo codes and Decision Tables Designed by Parul Khurana, LIECA. Introduction • The various tools collectively referred to as program design tools, that helps in planning the program are:– Algorithm. – Flowchart. – Pseudo-code. Designed by Parul Khurana, LIECA. Algorithms • An algorithm is defined as a finite sequence of instructions defining the solution of a particular problem, where each instruction is numbered. • However, in order to qualify as an algorithm, every sequence of instructions must satisfy the following criteria: Designed by Parul Khurana, LIECA. Algorithms • Input: There are zero or more values which are externally supplied. • Output: At least one value is produced. • Definiteness: Each step must be clear and unambiguous, i.e., having one and only one meaning. • Finiteness: If we trace the steps of an algorithm, then for all cases, the algorithm must terminate after a finite number of steps. Designed by Parul Khurana, LIECA. Algorithms • Effectiveness: Each step must be sufficiently basic that it can in principle be carried out by a person using only one paper and pencil. – In addition, not only each step is definite, it must also be feasible. Designed by Parul Khurana, LIECA. Formulation of Algorithm • Formulate an algorithm to display the nature of roots of a quadratic equation of the type: ax2 + bx + c = 0 provided a ≠ 0 Designed by Parul Khurana, LIECA. Formulation...

Words: 914 - Pages: 4

Free Essay

Audit Program Design

...Audit Program Design Part III Sheila Dunn ACC 546 May 13, 2013 Cecil Lucy Audit Program Design Part III Inventory and Warehouse Cycle The inventory and warehouse cycle can be divided into five sections: acquire and record raw materials, labor, and overhead, internally transfer assets and costs, ship goods and record revenue and costs, physically observe inventory, and price and compile inventory. The following will be the tests of control, substantive tests of transactions, and analytical procedures. 1. Acquire and record raw materials, labor, and overhead a. Tests of control i. Check to make sure that all materials ordered have been accounted for ii. Check to make sure that there are records for all orders iii. Check payroll from payroll and personnel cycle iv. Check to make sure that the inventory is not overstocked b. Substantive test of transactions i. Take a sample of the orders placed ii. Make sure that the sample reflects that all material were received iii. Sample the payroll to make sure there are no discrepancies iv. Sample the inventory to make sure that it is replenished and constantly moving c. Analytical procedures i. Compare the results to prior years to ensure that the data matches up ii. Determine if there any risks 2. Internally transfer assets and costs a. Tests of controls i. Check financial statements to ensure assets were transferred ii. Check for the costs related to the business ...

Words: 909 - Pages: 4

Premium Essay

Audit Program Design

...Internal Audit of Al Fresco Audit Program Objective: To find out whether their financial information is free from irregularities. Audit Steps to Be Completed I. Planning and Administration Section 1. Prepare permission letter and engagement letter, and obtain approval from the audit director and the auditee. 2. Conduct audit planning, and the following should be discussed: * Timing of audit and planned participants * Timing of fieldwork * Internal control checklist * Risk areas/ internal controls * Assignment of audit objectives * Testing to be performed * Budgeted hours * Permission letter * Engagement letter 3. Conduct pre-audit interview with auditee and document discussions held. 4. Set the schedule of the preliminary audit with the applicable management and discuss the following: * Timing of the audit * Audit objectives * Key contacts for the audit 5. Obtain permission to access relevant information like: * Organizational chart * Relevant reports utilized by the auditee * Strategic documents 6. Prepare and review the internal control questionnaire: * What is the Al Fresco’s perceived internal controls strengths and weaknesses? 7. Inquire of the auditee as to whether any relevant process flowcharts exist. If not, consider developing one for the permanent file. II. Fieldwork First Objective: To ascertain whether the use and recording of petty cash funds...

Words: 683 - Pages: 3

Premium Essay

Audit Program Design

...Audit Program Design ACC/546 Chandria Willis August 3, 2015 Frank G. Elliot Apollo Shoes, Inc. Langley, ME Dr Mr. Elliot, We have developed test o controls of substantive test of transactions, and analytical procedures for the audit of Apollo Shoes Inc.’s sales and collection cycle, payroll and personnel cycle, acquisition and payment cycle, and Inventory and Warehousing cycle in line with the generally accepted auditing principles. The objective is to verify existence, accuracy and completeness. A substantive test should be associated with each of the transactions related to the audit objectives. The objectives of the audit include the occurrence, accuracy, completeness, posting, classification, summarization, and timing. Analytical Procedures must be performed in the planning stage of the audit and reviewed near the end of the audit. This serves to provide additional assurance to the auditor that the account has also been presented fairly in line with the generally accepted accounting principles. Based on previous research, it is our opinion...

Words: 1469 - Pages: 6

Premium Essay

Marketing Program Design

...MIDCOM GROUP Institute of Management Technology 2014-2016 By: Submitted to: Group 2 Dr. Vimi Jham • Nutush Mishra (140201088) Associate Professor • Pranav Pothan (140201097) • Prashast Singh (140201098) • Pratyush Sahu (140201102) • Prejith Alex (140201104) • Rajat Garg (140201106) • Rajat Mehta (140201107) • Rajat Sharma Gollapudi (140201108) 7 Contents Acknowledgement 2 MIDCOM 3 PRODUCT MIX 5 Nokia 5 Samsung 5 Microsoft 6 Sandisk 6 PROMOTION STRATEGIES 7 Bonus Packs 7 Price-off 7 PRICING STRATEGY 8 Market Penetration 8 Market Skimming 8 DISTRIBUTION CHANNELS 9 Push-Pull Strategies 9 Channel selection 9 Key Findings 13   Acknowledgement The success and final outcome required a lot of guidance from many people and we are extremely fortunate to have got this all along. Our work and achievement of the end result is entirely due to their guidance and assistance and we would like thank them all. Firstly, we are eternally grateful to Prof. Vimi Jham for her invaluable guidance. We also want to thank Mr. Bipin Mehrotra for his unconditional support and guidance regarding the workings of Midcom and the industry.   MIDCOM MIDCOM is a leading telecom and electronics distributor in Africa and Middle East. The company has a combined turnover of value greater than 1.32 billion USD. Presently it handles full operations in countries like East Africa, Ghana, Nigeria and UAE. The company...

Words: 2974 - Pages: 12

Premium Essay

Capratek Training Program Design

...CapraTek Training Program Design: HRM 5015 Leading and Managing Workplace Learning Training Topic Topic Identification The training topic I will design for CapraTek is Sexual Harassment: You make the call. Upon interviewing various supervisors for their different plants I found that overall they are all uncomfortable with their knowledge on laws that affect their associates. Considering that the new plant is being opened in a state where there is a mandatory sexual harassment training law. Strategic Needs Due to the mandatory regulation of this training it is cost effective to use this training as an opportunity to grow our leadership. By having a in person session with our supervising team we can instill leadership behaviors that will help them in other areas of leadership. This seminar will give them the tools needed to solve other law/policy related problems. If we have to spend money let us make sure that we are getting a better return on investment from it. Needs Analysis Currently our company’s objective is to open the plant in Illinois and train our supervising staff accordingly. One major obstacle to this is the mandatory regulation of sexual harassment training by the state. Our supervisor must know what is legally required of them and what we expect from them. Our expectation is that they are able to fully understand what is sexual harassment, what are the signs of it, who to prevent it and...

Words: 2180 - Pages: 9

Premium Essay

Audit Design Program Iii

...Audit Design Program III Tonya Gaines ACC 546 March 4, 2013 Michael De Marco Audit Design Program III During phase III of the audit plan, Anderson, Olds & Watershed (AOW) will focus on two important cycles: Inventory and Warehousing Cycle and the Cash Cycle. There are six classes of transactions in the inventory and warehousing cycle: process purchase orders, receive raw materials, store raw materials, process of goods, and store finished goods and ship finished goods. Cash account is a part of every cycle except inventory and warehousing. Cash is primarily important and extremely vulnerable to fraud that is why auditor needs to be careful in the assessing risks in auditing cash account. Anderson, Olds & Watershed’s (AOW) responsibility is to conduct a fair and unbiased audit. We will conduct these tests and procedures according to PCAOB auditing standards. There is not absolute assurance that all misstatements or errors will be discovered. Inventory and Warehouse Cycle The audit of the inventory and warehousing cycle is designed to test inventory counts, processes and operations. The classes of transactions in this cycle includes sales, value of inventory, cost of goods sold, sales returns and allowances and estimates of allowance for slow moving inventory. The table below displays the interrelationship of the transactions related to audit objectives, tests of controls, and substantive test of transaction that should be approved during the...

Words: 1179 - Pages: 5

Premium Essay

Audit Program Design 1

...” The Sarbanes-Oxley Section 404 Act, requires management to produce an “internal control report” along with the annual Exchange Act report. This report is required to confirm “the responsibility of management for establishing and maintaining an adequate internal control structure and procedures for financial reporting.” The report must also “contain an assessment, as of the end of the most recent fiscal year of the Company, of the effectiveness of the internal control structure and procedures of the issuer for financial reporting.” To successfully complete this management generally adopts an internal control framework such as that described in COSO. According to COSO here are the guidelines for the framework. • Assess both the design and operating effectiveness of selected internal controls related to significant accounts and relevant assertions, in the context of material misstatement risks; • Understand the flow of transactions, including IT aspects, in...

Words: 1257 - Pages: 6

Premium Essay

Program Design Part 1

...Introduction and Definition: As per the provisions of section 404 of Sarbanes-Oxley Act of 2002 ("SOX"), all public companies are required to comply with timelines pertaining to management reporting on internal controls on financial reporting. The internal control report must be made part of the filings to the SEC. For the purpose of SOX, internal control is broadly defined as a process, affected by an entity’s board of directors, management, and other personnel, designed to provide reasonable assurance regarding the achievement of objectives in the following categories: * effectiveness and efficiency of operations * reliability of financial reporting * compliance with applicable laws and regulations The section also requires companies to check the effectiveness of internal controls and procedures for financial reporting and in doing so the companies must: * Document existing controls and procedures that relate to financial reporting * Test their effectiveness * Report on any gaps or poorly documented areas CSCO Framework: For the purpose of SOX 404 controls most organizations have selected the CSCO framework, which describes internal controls as consisting of five interrelated components. These are generally called “layers,” and the controls within each must be included in management’s assessment. The five layers are described by COSO as: * Control Environment activities include the organization’s code of conduct (an entity-level control) as well...

Words: 408 - Pages: 2

Premium Essay

Amul - Marketing Program Design

...CONTENTS Sl. NO | Topic | Page Number | 1 | Introduction to Amul | 3 | 2 | Customer – Survey | 4 | 3 | Customer – Special case | 5 | 4 | Collaborative, Competition – Wholesaler, Dealer perspectives | 7 | 5 | Collaborative, Competition – Company salesperson perspectives | 8 | 6 | Collaborative – Company’s operations and advertisements | 11 | 7 | Our learnings | 15 | 8 | Online references | 16 | INTRODUCTION About Amul: Amul was formally formed on December 14, 1946. The brand name was derived from the Sanskrit word ‘Amoolya’, which means priceless. But some cite the name as an acronym Anand Milk Union Limited. Amul products have been used in millions of home since then. Today Amul is a symbol of high quality delivered at a reasonable price, of the creation of a vast co-operative network, of a triumph of the white revolution. And it serves as an established model for dairy development. In the early 1940s, the main sources of earning of the farmers of the Kaira district were selling of milk and farming. During that time, there was a high demand of milk in Bombay. It was mainly supplied by Polsen dairy limited which had a monopoly and was privately held. Those traders used to decide on the prices of milk and the farmers had no say in that. But the exploitation became intolerable and the farmers collectively requested Sardar Vallabhai Patel. He told them to establish a co-operative union, as an alternative to supplying milk to private traders. Morarji Desai...

Words: 3815 - Pages: 16

Premium Essay

Audit Program Design Part Ii

...Audit Program Design Part Ii Audit Program Design Part II Company: Apollo Shoe Company Audit Begins: January 19, 2010 Audit Ends: March 31, 2010 (Tentative) AUDIT SCOPE: Sales/revenue and collection cycle Payroll and personnel cycle Acquisition and payment cycle All Transactions, orders, and payments processed January 1, 2007 through December 31, 2007 AUDIT OBJECTIVES: • To determine internal control compliance to sub objectives for payroll and personnel cycle, sales/revenue and collection cycle, and the acquisition and payment cycle. • To obtain control evidence and documentation about the existence, accuracy, classification, timing and completeness of recorded acquisition transactions. CRITERIA: Statement on Auditing Standards (SAS) No. 99 – Fraud Auditing Standards AUDITOR ASSIGNMENTS: John Butler – Sales and Collection David Sargent – Payroll and Personnel Perry Boydstun – Acquisition and Payment Cycle METHODOLOGY: Each auditor will perform their assigned area of tests of controls and substantive test using sampling techniques as appropriate. Strengths and weaknesses’ should be denoted by using a “S” or “W” on each area applicable area of the flowchart and checklist of each assigned area. The summary status (“Ss” and “Ws”) will be listed in the bridge worksheet for SOX 404 Audit analysis.   Bridge Worksheet for Sales and Collection Cycle – SOX 404 Audit Public companies typically rely heavily on proper internal controls to maintain...

Words: 285 - Pages: 2